开源工程学习笔记之Fastjson(Part 1)

Part 1.反序列化部分还是从part0那个json串入手,看看Fastjson框架是怎么把他拆出来的。1.1 Fastjson中存取JSON对象的方法首先,Fastjson是用JSONObject和JSONArray这两个类分别描述json对象和json数组的。那么先把这两个类拆开来看看。1....

2016-12-08 16:36:42

阅读数:2826

评论数:0

开源工程学习笔记之Fastjson(Part 0)

Part 0.为啥要拆它?最近实验室任务量不大,故决定找一些不错的开源项目拆开看看,学习下设计模式和实现工程的细节。看一看一些优秀的工程都是怎么实现的。前几天刚帮同学拆了一个超轻量级的json框架cJSON,感觉不错,于是找了下Java的解决方案,比较有代表性的有谷歌的gson和阿里的fastjs...

2016-12-08 13:51:11

阅读数:518

评论数:0

Java并发学习笔记(1)——并发编程基础

线程的状态 NEW:初始状态,线程被new 出来,但还没start()的状态 RUNNABLE:指的是调用了start()方法,但还在等着CPU资源的状态; RUNNING:一个线程获得了CPU资源,正在走的状态; TERMINATED:线程对象的run()方法走完了的状态 BLOCKED...

2016-10-28 15:16:12

阅读数:265

评论数:0

阿里面经之解答 by cmershen(5)——内存泄露,java.util.concurrent包

19.Java有没有内存泄露? 当然有了。。。DTSJava模块中还有MLF缺陷呢~~不过DTS里面能报出的内存泄露十分片面,接下来我们全面的了解一下Java的内存泄露。首先,什么叫内存泄露?就是一个对象已经不再使用,但却仍然占据着内存得不到释放。虽然JVM获得的物理内存有限,但大量的内存泄露会...

2016-07-24 16:11:27

阅读数:609

评论数:0

阿里面经之解答 by cmershen(4)——线程池

什么叫线程池?如何实现线程池? 因为新建一个线程的成本比较高,所以在大型系统中使用线程池可以很好的提高性能。线程池就是在系统启动的时候先创建大量的空闲线程,当该线程的run()或call()方法执行结束后,该线程不会立即死亡,而是在线程池中等待再次唤醒。这很适合大型系统中需要大量、重复、短暂地...

2016-07-06 16:49:32

阅读数:1414

评论数:0

阿里面经之解答 by cmershen(3)——String/StringBuffer/StringBuilder,Java序列化,线程安全,线程同步,ThreadLocal

11.String,StringBuffer,StringBuilder的区别 (1)都是final的,不能被继承。 (2)String长度不可变,另外两个长度是可变的(例如StringBuffer有append方法) (3)StringBuffer是线程同步的,里面的每一个API都添加了s...

2016-07-05 16:16:31

阅读数:2494

评论数:0

阿里面经之解答 by cmershen(2)——static/final,HashMap/Hashtable/ConcurrentHashMap

7. static和final的用法static可以修饰变量,方法,代码块。 static修饰的变量在内存中只有一份,在类加载的时候被完成初始化,且被该类的所有实例共享。 static修饰的方法必须实现,不能用abstract修饰。 static修饰的代码块在类加载完成后就会执行代码块的内容...

2016-06-28 11:29:42

阅读数:894

评论数:0

阿里面经之解答by cmershen(1)——Java的基本特性,面向对象的六大特征等

在牛客网上看到一份阿里面经,真假先不谈,就其中总结概括的知识点和常见问题还是不错的,在面试中也是经常会被问到的。 美中不足的是,里面的解答有的太过冗杂,有的则太过简略。本学妹按自己的理解,将这些问题重新整理,给出一份自己的理解,与读者共同学习共同进步。 1.自我介绍(略) 2.做过的项目(就...

2016-06-27 16:49:46

阅读数:1019

评论数:1

提示
确定要删除当前文章?
取消 删除
关闭
关闭