随笔分类 - JAVA
摘要:本文是深入理解Java 8 Lambda系列的第二篇,主要介绍Java 8针对新增语言特性而新增的类库(例如Streams API、Collectors和并行)。 本文是对 "Brian Goetz" 的 "State of the Lambda: Libraries Edition" 一文的翻译。
阅读全文
摘要:本文介绍了Java SE 8中新引入的lambda语言特性以及这些特性背后的设计思想。这些特性包括: lambda表达式(又被成为“闭包”或“匿名方法”) 方法引用和构造方法引用 扩展的目标类型和类型推导 接口中的默认方法和静态方法 本文是对 "Brian Goetz" 的 "State of th
阅读全文
摘要:Java 8已经推出一段时间了,Lambda是其中最火的主题,不仅仅是因为语法的改变,更重要的是带来了函数式编程的思想。这篇文章主要聊聊Lambda的应用场景及其相关使用示例。 Java为何需要Lambda 1996年1月,Java 1.0发布了,此后计算机编程领域发生了翻天覆地的变化。商业发展需要
阅读全文
摘要:最近弄爬虫,遇到的一个问题就是如何使用post方法模拟登陆爬取网页。下面是极简版的代码: 原文地址: http://wangxin123.com/2016/12/19/%E4%BD%BF%E7%94%A8Post%E6%96%B9%E6%B3%95%E6%A8%A1%E6%8B%9F%E7%99%B
阅读全文
摘要:配置相关 jdbc 配置 单数据源时的Spring配置文件 多数据源时Spring配置文件 MultipleDataSource实现 手动数据源切换调用 MyBatis接口Mapper定义,直接使用注解方式实现 使用SpringAOP方式实现自动切换 配置详解 这里就上面的实现做个简单解释,在我们配
阅读全文
摘要:1、编译机制 分析和输入到符号表: 词法分析:将代码转化为token序列 语法分析:由token序列生成抽象语法树 输入到符号表:将类中出现的符号输入到类的符号表 注解处理: 处理用户自定义注解,之后继续第一步 根据符号表进行语义分析并生成class文件,并进行相关优化 虚拟机数据类型、字节码文件格
阅读全文
摘要:通常情况下,MyBatis 的增删改查操作需要自己在相应xml中写相关语句, 但是运用相关工具,其实可以很方便的自动生成单表的所有增删改查(通用的多表联合查询还是需要自己写)。 也可以根据具体环境,设计相关模板,自动生成符合要求的controller和service。 使用教程 : "http://
阅读全文
摘要:为什么要用线程池 减少了创建和销毁线程的次数,每个工作线程都可以被重复利用,可执行多个任务。 可以根据系统的承受能力,调整线程池中工作线线程的数目,防止因为消耗过多的内存,而把服务器累趴下(每个线程需要大约1MB内存,线程开的越多,消耗的内存也就越大,最后死机)。 Java里面线程池的顶级接口是Ex
阅读全文
摘要:Java的集合分为了四类:List Set Queue Map ,每类都有不同的实现,有基于数组实现的,有基于链表实现的,有基于xx树实现的,不同的实现虽在功能上可以相互替代但都有各自的应用场景,如基于数组的实现擅长快速遍历,基于链表的实现擅长随机写,基于树的实现可排序等等。 JDK1.5及以后还添
阅读全文
摘要:最近被初始化快和静态初始化快整懵了,现整理如下: ps: 大学时的ppt课件都被我翻出来了 (^∇^ ) 不看前面内容,我写在本文最后的那道测试题绝对让大部分人懵逼 测试代码 1、static初始化块 static初始化块是在构
阅读全文
摘要:最近因项目存在内存泄漏,故进行大规模的JVM性能调优,现把相关知识进行归纳总结 一、JVM内存模型及垃圾收集算法 1.内存模型 根据Java虚拟机规范,JVM将内存划分为: 年轻代(New):年轻代用来存放JVM刚分配的Java对象 年老代(Tenured):年轻代中经过垃圾回收没有回收掉的对象将被
阅读全文
摘要:假设现有如下的使用场景: a) 关闭空闲连接。服务器中,有很多客户端的连接,空闲一段时间之后需要关闭之。 b) 缓存。缓存中的对象,超过了空闲时间,需要从缓存中移出。 c) 任务超时处理。在网络协议滑动窗口请求应答式交互时,处理超时未响应的请求。 笨办法是,使用一个后台线程,遍历所有对象,挨个检查。
阅读全文
摘要:《 Effecit In Java 》说过,从java 1.5发现版本开始, 就不建议使用wait和notify,它们使用比较困难,可以使用更高级并发工具来替代。 图一所说的同步器是指那些能使线程等待另一个线程的对象,常用的有cyclicBarrier和倒计数锁存器CountDownLatch和se
阅读全文
摘要:JDK API 1.7相关介绍 可以用原子方式更新的 int 值。有关原子变量属性的描述,请参阅 java.util.concurrent.atomic 包规范。AtomicInteger 可用在应用程序中(如以原子方式增加的计数器),并且不能用于替换 Integer。但是,此类确实扩展了 Numb
阅读全文

浙公网安备 33010602011771号