07 2019 档案
摘要:Java8 利用Stream接口去除集合间重复项 java.util.stream Public Interface Stream<T> extends BaseStream<T,Stream<T>> ① 使用 Set 集合的 内容不重复进行去重 ② 使用 Stream 接口 进行去重 static
阅读全文
摘要:JDK1.5 引入了 Executor框架 ,对任务提交和执行进行解耦 , 定义任务后交由线程池执行。 线程池是由java.util.concurrent 包中Executors类的工厂方法创建线程池。 阿里巴巴规范: 线程资源必须通过线程池提供,不允许在应用中自行显式创建线程。 说明:使用线程池的
阅读全文
摘要:使用lambda表达式 可以在函数式接口上使用Lambda表达式。所谓函数式接口,就是只定义一个抽象方法的接口。比如Comparator、Runnable,以及Callable。Java 8在java.util.function包中引入了几个新的函数式接口。 写法对比 实现Runnable接口 la
阅读全文
摘要:-Xmn 年轻代大小 -Xmx 最大堆 -Xms 最小堆 -XXSurvivorRation 代表Eden :Survivor 比值 一般根据对象的生存周期将堆内存分为若干不同的区域,一般情况将新生代分为Eden ,两块Survivor; ——————————————————————————————
阅读全文
摘要:同步普通方法,锁的事当前对象 同步静态方法,锁的事当前class对象 同步块,锁的是 ()中的对象 实现原理 JVM是通过进入、退出对象监视器(Monitor)来实现对方法、同步块的同步。 具体实现是在编译之后,在同步方法调用前加入一个monitor.enter指令,在退出方法和异常处插入monit
阅读全文
摘要:事务(Transaction)是为解决数据安全操作提出的,事务控制实际上就是控制数据的安全访问。 (银行转账业务,将A账户资金减少和B账户资金增加放到同一个事务里,要么全部执行成功,要么全部撤销,这样就保证了数据的安全性。) 事务是一组原子操作单元,从数据库角度说,就是一组SQL指令,要么全部执行成
阅读全文
摘要:① 使用 javac 对 HelloWorld.java 源文件进行编译为 HelloWorld.class 字节码文件。( jdk 开发工具箱中包含 javac 编译工具和 jre 运行时环境) ② 类的加载阶段,加载至JVM内存中,Main方法就是程序的入口,然后由JVM虚拟机来解释执行,在一些
阅读全文