摘要: 在上一篇《你真的懂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)