Java
文章平均质量分 76
逸辰杳
这个作者很懒,什么都没留下…
展开
-
JSON序列化
将对象序列化成JSONString进行网络传输是比较普遍的场景;以fastjson为例,分析一个对象序列化时踩过的坑:有一个对象User,包含两个属性:age和name{ "age":"100", "name":{ "firstName":"Tom", "lastName":"Hanks" }}对于如下两种代码的编写方式,会导致不同的序列化结果// 写法一Map<String, Object> userEntry = new原创 2020-08-29 13:26:39 · 4343 阅读 · 0 评论 -
Java线程间的相互通信--生产者消费者问题
实现功能:生产者一次生产一个数据,消费者每次消费一个数据(两个线程)分别用lock+boolean类型标记值和lock+condition两种方法实现控制线程间的通信。代码如下:package Thread;/** * @author YHYR */import java.util.concurrent.loc原创 2016-06-02 23:16:23 · 353 阅读 · 0 评论 -
HashMap、HashTable和Vector的存储扩容解析
HashMap、HashTable和Vector是面试时比较高频问到的知识点,今天就从三个的底层源码的角度分析三者之间的实现原理和异同点。HashMap:实现Map接口 实现原理:HashMap采用链地址法。即底层是一个数组实现。数组的每一项(即一个Entry)又是一个链表。结构图如下:每个Entry是一个键值对。源码如下:原创 2016-09-14 09:59:16 · 8016 阅读 · 0 评论 -
GC详解及Minor GC和Full GC触发条件总结
GC,即就是Java垃圾回收机制。目前主流的JVM(HotSpot)采用的是分代收集算法。与C++不同的是,Java采用的是类似于树形结构的可达性分析法来判断对象是否还存在引用。即:从gcroot开始,把所有可以搜索得到的对象标记为存活对象。GC机制要准确理解Java的垃圾回收机制,就要从:“什么时候”,“对什么东西”,“做了什么”三个方面来具体分析。第一:“什么时候”即就是GC触发的...原创 2016-09-17 22:09:26 · 88054 阅读 · 28 评论 -
基于Spring Boot实现Mybatis的多数据源切换和动态数据源加载
Spring Boot Mybaits mybatis基本配置、多数据源切换、动态加载数据源原创 2017-12-25 17:25:26 · 20364 阅读 · 21 评论 -
Tomcat访问外部资源
在做毕设(一个简单的电影推荐系统)的时候,有一个应用场景如下所述:电影的海报通过爬虫抓取到本地磁盘,在Web端进行电影海报展示的时候,由于Web应用和爬虫应用是两个独立的工程,所以在Web端展示时无法获取外部资源。具体解决办法:第一步:修改Tomcat安装路径中的conf文件夹下的server.xml文件在server.xml文件最后的<Host></Host>...原创 2017-06-18 20:32:51 · 2423 阅读 · 0 评论 -
MyEclipse 2015实现JavaScript代码自动提示(不需要额外安装插件)
步骤一: 在window>myeclipse>javascript>tern>development>repository 勾选了需要支持的jquery\javascript\angularjs库 步骤二:右键自己的项目, 选择 MyEclipse>JavaScript Modules>Install AngularJS sup...原创 2016-06-03 20:49:37 · 8036 阅读 · 0 评论