摘要: java内存模型中,每个线程有自己的工作内存,同时还有一个共享的主内存。 为什么要让每个线程都有自己的工作内存呢? 线程运行的代码对应的是一些指令是由CPU执行的!但是CPU每次执行指令运算的时候,要是每次需要一个变量的值,都从主内存加载,性能会比较差! 要是线程的代码在执行过程中,就可以直接从自己 阅读全文
posted @ 2019-10-04 21:23 Jemb 阅读(172) 评论(0) 推荐(0) 编辑
摘要: java集合框架 Map体系 HashMap层次体系: 1.实现了Cloneable,可以被克隆 2.实现了Serializable,可以被序列化 3.继承AbstractMap,实现了Map接口,具有Map的所有功能。 HashMap的底层结构为 数组+链表或红黑树,当链表的数量达到一定数量的时候 阅读全文
posted @ 2019-10-04 20:17 Jemb 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 我们可以利用synchronized关键字来对程序进行加锁。它既可以用来声明一个synchronized代码块,也可以直接标记静态方法或者实例方法。 synchronized怎么实现线程的同步? 早期的synchronized属于重量级锁,依赖于mutex lock实现,线程之间的切换涉及到 用户态 阅读全文
posted @ 2019-10-04 18:03 Jemb 阅读(250) 评论(0) 推荐(0) 编辑
摘要: ElasticSearch设计的理念就是分布式搜索引擎。 ES与Solr对比? Solr在数据量不大的传统搜索应用表现要好于Elasticsearch,这体现在使用简易度上,功能上完整度上,还有少量数据搜索效率上。但Solr毕竟是很久之前的产品,似乎不太适应当前大数据发展的趋势,而Elasticse 阅读全文
posted @ 2019-10-04 12:22 Jemb 阅读(313) 评论(0) 推荐(0) 编辑