Wesley13 Wesley13
4年前
java Lambda表达式
简介  Lambda可以理解为简洁的表示可传递的匿名函数,包括:参数列表、函数主体、返回类型、抛出的异常列表(可以不存在)。  函数式接口:定义一个抽象方法的接口(接口可以拥有默认方法:default)。  函数式接口有什么用?    Lambda可以以内联的形式为函数式接口的抽象方法提供实现。虽然内部类也可以实现,但lambda表达
Wesley13 Wesley13
4年前
java虚拟机(三)
普通对象的创建(不包括数组和class对象):当虚拟机遇到new指令时,会在常量池中检查是否包含这个类的符号引用(全限定名),通过这个确定是否经过类加载的过程,如果true,为该对象分配内存,对象大小在类加载过程就已经确定。如果false,需要进行类加载。分配内存1、分配内存的方式:指针碰撞:如果内存
Wesley13 Wesley13
4年前
java 类型转换的原理
最近在看JDK的源码,在看源码的时候看到了0xff这么个东东,从这里引出了类型转换。因此在此记录下。在写原理之前先看几个例子。byteb1;intab;然后打印a得出的结果是1.intb1;bytea(byte)b;打印a得出来的是1。inta255;byteb(byte)255;打印b得出的结果也是1;而把这个强制转出
Wesley13 Wesley13
4年前
java 常用命令
查看堆使用情况jmapheappid查看占用内存高的对象jmaphisto:livepid|headn100查看占用内存高的对象,dump成文件,线下分析jmapdump:live,formatb,filexxx.xxxpid查看进程的线程情况psppidLopcpu,pmem,p
Wesley13 Wesley13
4年前
java 3DES 加密
publicclassDESCode{privateStringalgorithm"DESede/CBC/PKCS7Padding";//加密方法/运算模式/填充模式privateStringcharset"UTF8";//编码privateCipherencCipher;//加密cipherpriva
Wesley13 Wesley13
4年前
JAVA并发之基础概念
!(https://oscimg.oschina.net/oscnet/d75611f1666a4395ab93d575d05232e6.png)1.并发和并行举个例子并发(concurrency):并发的关键在于有处理多个任务的能力,但并不一定就是同时处理.例1:吃饭时,电话响起,暂时停下吃饭的动作
Wesley13 Wesley13
4年前
Java对象的内存布局
一. 对象的创建  在语言层面上,创建对象通常仅仅只是一个new关键字而已,而在虚拟机中,这包含的主要过程有(仅限于Java普通对象,不包括数组和Class对象,这两者比较特殊):类加载检查、对象分配内存、并发处理、内存空间初始化、对象设置、执行ini方法等。主要流程如下:!(https://static.oschina
Wesley13 Wesley13
4年前
Java根据XPath提取HTML
有这样一段HTML: <div<table<tdid'1234foo5678'Hello</td希望通过这个XPath提取出Hello://div//tdcontains(@id,'foo')/text()先导入maven依赖:<!https://mvnrepository.com/ar
Wesley13 Wesley13
4年前
Java Monitoring&Troubleshooting Tools
JDKToolsandUtilities(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fdocs.oracle.com%2Fjavase%2F8%2Fdocs%2Ftechnotes%2Ftools%2Findex.html)MonitoringToolsYou
Wesley13 Wesley13
4年前
Java动态追踪技术探究
引子在遥远的希艾斯星球爪哇国塞沃城中,两名年轻的程序员正在为一件事情苦恼,程序出问题了,一时看不出问题出在哪里,于是有了以下对话:“Debug一下吧。”“线上机器,没开Debug端口。”“看日志,看看请求值和返回值分别是什么?”“那段代码没打印日志。”“改代码,加日志,重新发布一次。”“怀疑是线程池的问题,重启会破坏现场。”