11 2018 档案
k8s<------docker
摘要: 阅读全文
posted @ 2018-11-21 20:59 断剑重铸之时 阅读(113) 评论(0) 推荐(0) 编辑
jar包 war包
摘要:jar包和war包的区别: war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。而jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的.它们都是压缩的包,拿Tomcat来说,将war文件包放置它的\webapps\目录下,启动T 阅读全文
posted @ 2018-11-21 10:58 断剑重铸之时 阅读(219) 评论(0) 推荐(0) 编辑
mysql查询语句优化
摘要:联表查询: 1️⃣SELECT ta.sid, ta.instance_id, ta.user_id, ******* FROM t_action ta, t_instance ti WHERE ta.status = 3 ******* AND ta.instance_id = ti.sid OR 阅读全文
posted @ 2018-11-12 10:59 断剑重铸之时 阅读(223) 评论(0) 推荐(0) 编辑
volatile 关键字
摘要:内存可见性 由于 Java 内存模型(JMM)规定,所有的变量都存放在主内存中,而每个线程都有着自己的工作内存(高速缓存)。 线程在工作时,需要将主内存中的数据拷贝到工作内存中。这样对数据的任何操作都是基于工作内存(效率提高),并且不能直接操作主内存以及其他线程工作内存中的数据,之后再将更新之后的数 阅读全文
posted @ 2018-11-09 15:57 断剑重铸之时 阅读(134) 评论(0) 推荐(0) 编辑
Java内存模型之happens-before原则
摘要:我们无法就所有场景来规定某个线程修改的变量何时对其他线程可见,但是我们可以指定某些规则,这规则就是happens-before,从JDK 5 开始,JMM就使用happens-before的概念来阐述多线程之间的内存可见性。 在JMM中,如果一个操作执行的结果需要对另一个操作可见,那么这两个操作之间 阅读全文
posted @ 2018-11-09 15:20 断剑重铸之时 阅读(363) 评论(0) 推荐(0) 编辑
CopyOnWriteArrayList(复制数组 去实现)
摘要:一、Vector和SynchronizedList 1.1回顾线程安全的Vector和SynchronizedList 我们知道ArrayList是用于替代Vector的,Vector是线程安全的容器。因为它几乎在每个方法声明处都加了synchronized关键字来使容器安全。 如果使用Collec 阅读全文
posted @ 2018-11-09 15:13 断剑重铸之时 阅读(1770) 评论(0) 推荐(0) 编辑
ConcurrentHashMap(锁分段技术)
摘要:线程不安全的HashMap 因为多线程环境下,使用Hashmap进行put操作会引起死循环,导致CPU利用率接近100%,所以在并发情况下不能使用HashMap。 效率低下的HashTable容器 HashTable容器使用synchronized来保证线程安全,但在线程竞争激烈的情况下HashTa 阅读全文
posted @ 2018-11-09 15:05 断剑重铸之时 阅读(4341) 评论(0) 推荐(0) 编辑
MQ之Kafka
摘要:现代的互联网分布式系统,只要稍微大一些,就一定逃不开3类中间件:远程调用(RPC)框架、消息队列、数据库访问中间件。Kafka 是消息队列中间件的代表产品,用 Scala 语言实现; 基本概念 首先,Kafka 中有一些基本的概念需要熟悉。 Topic,指消息的类别,每个消息都必须有; Produc 阅读全文
posted @ 2018-11-08 14:57 断剑重铸之时 阅读(193) 评论(0) 推荐(0) 编辑
netty
摘要: 阅读全文
posted @ 2018-11-02 15:28 断剑重铸之时 阅读(75) 评论(0) 推荐(0) 编辑


点击右上角即可分享
微信分享提示