摘要:
在上一篇《你真的懂ReentrantReadWriteLock吗?》中我给大家留了一个引子,一个更高效同时可以避免写饥饿的读写锁---StampedLock。StampedLock实现了不仅多个读不互相阻塞,同时在读操作时不会阻塞写操作。
为什么StampedLock这么神奇?能够达到这种效果,它的核心思想在于,在读... 阅读原文
2018-09-25 13:55:13 阅读(2360) 评论(0)
摘要:
Java集合框架中的List与Set
// 简书作者:达叔小生
Collection
-> Set 无序不重复 -> 无序HashSet,需要排序TreeSet
-> List 有序可重复 -> 查,改ArrayList,增删LinkedList
List为列表,中在列表中的对象是由顺序... 阅读原文
2018-09-25 12:28:04 阅读(2315) 评论(0)
摘要:
闲来无事,买了一个云服务器来玩玩。想要做的第一件事情就是搭建web项目,查询了网上的资料得知,部署web项目的步骤是
(1)配置java环境(这里选择的是jdk1.8)
(2)配置tomcat服务器(这里选择的是tomcat7)
(3)上传web项目
(4)访问web项目
那么就开始我们的第一步和第二步,安装jdk1... 阅读原文
2018-09-25 12:24:02 阅读(2355) 评论(0)
摘要:
gitee项目地址:https://gitee.com/zingwu/WordCount
解题思路
因为最近在学习java的相关知识,所以看到题目就决定用java来写。初步思考了之后发现要完成这个题目需要用到大量I/O相关的知识,然后准备每一个功能写一个类,然后在主类之中调用相关方法来实现这个程序。在谷歌上看了一些类... 阅读原文
2018-09-25 10:37:23 阅读(2288) 评论(0)
摘要:
下面我们再给出一个线程不安全的例子。 (视频下载) (全部书籍)例:1.8.2-本章源码class BookMark_to_win { int bookNum=10; void onlySellOne() { if (bookNum > 0) { System.o... 阅读原文
2018-09-25 10:13:02 阅读(2249) 评论(0)
摘要:
把上面的程序return,变成自己通过throw主动抛出异常,结果是一样的。 (视频下载) (全部书籍)
例:1.5.1_1-本章源码
class MyThreadMark_to_win extends Thread{ private boolean stop; public void run() { ... 阅读原文
2018-09-25 08:14:01 阅读(2482) 评论(0)
摘要:
java创建子线程为什么要有两种方法? (视频下载) (全部书籍)
马克-to-win:通过以下两种方法创建子线程:1)声明一个Thread类的子类。
2)实现runnable接口。java的官方文档也没强调这二者有什么区别。马克-to-win:笔者认为,既然java只允许继承一个类,如果你这个类本身就是某个类的... 阅读原文
2018-09-25 06:41:01 阅读(2408) 评论(0)
摘要:
一句话总结:使用官方Mysql Innodb Cluster集群方案实现Mysql冗余备份,无单点故障的高可用性。
项目背景:
腾讯数据中心网络的SDN控制器,项目业务对数据的要求如下:
1、对数据可用性要求高,要求多节点冗余备份,Mysql单点故障后可以切换到其他节点
2、对数据准确性要求高,对My... 阅读原文
2018-09-25 06:00:04 阅读(2367) 评论(0)
摘要:
Object类的hashCode的用法:(新手一定要忽略本节,否则会很惨) (视频下载) (全部书籍)马
克-to-win:hashCode方法主要是Sun编写的一些数据结构比如Hashtable的hash算法中用到。因为hash很快,所以你往
Hashtable里放东西的时候,他先比一下,里面有没有现有的东西的ha... 阅读原文
2018-09-25 00:00:02 阅读(2268) 评论(0)
摘要:
前言
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。
JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上一次编译,多次运行,具有跨平台性。JVM... 阅读原文
2018-09-24 21:30:04 阅读(2322) 评论(0)