无界

知识是没有边界的 也是无法隐藏的 https://linuxstyle.blog.csdn.net/

Java线程怎样映射到操作系统线程

先说多线程模型,参考经典教材《Operating System Concepts , Silberschatz ,9th edition》 中文版是《操作系统概念,第9版》 https://www.cs.uic.edu/~jbell/CourseNotes/OperatingSystems...

2019-04-06 22:07:31

阅读数 392

评论数 2

Java多线程的11种创建方式以及纠正网上流传很久的一个谬误

创建线程比较传统的方式是继承Thread类和实现Runnable,也可以用内部类,Lambda表达式,线程池,FutureTask等。 经常面试会问到继承Thread类和实现Runnable的区别,然后网上会流传如下这样的说法,这是错误的。 流传很久的错误说法: 这个说法是举一个火车票售票的...

2019-04-06 21:22:58

阅读数 619

评论数 3

为什么Java8中HashMap链表使用红黑树而不是AVL树

在Jdk1.8版本后,Java对HashMap做了改进,在链表长度大于8的时候,将后面的数据存在红黑树中,以加快检索速度。 那么很多人就有疑问为什么是使用红黑树而不是AVL树,AVL树是完全平衡二叉树阿? 最主要的一点是: 在CurrentHashMap中是加锁了的,实际上是读写锁,如果写冲...

2019-04-01 01:51:46

阅读数 577

评论数 3

异步编程原理以及Java实现

说实话多线程和异步是非常容易让人混淆的,好像产生的效果差不多,甚至有人称多线程为异步,实际上这两种技术背后的实现原理是不同的。 假设您有2个任务,不涉及任何IO(在多处理器机器上)。在这种情况下,线程优于Async。因为像单线程程序一样的Async按顺序执行你的任务。但是线程可以同时执行这两...

2019-03-30 14:16:11

阅读数 1074

评论数 1

Java弱引用最精彩的解释

原文出自:https://stackoverflow.com/questions/299659/whats-the-difference-between-softreference-and-weakreference-in-java 这个解释是关于弱引用最精彩的 public...

2019-03-26 11:54:35

阅读数 1118

评论数 2

从Jdk8到Jdk12的Java虚拟机垃圾回收(垃圾收集)相关论文和官方网站集锦

JVM架构图 《Java Program Execution Process in Detail | Working of JUST-IT-TIME Compiler (JIT) in Detail》 ---- 这张图微观画的很好:https://www.javainterviewpoi...

2019-03-24 03:00:23

阅读数 750

评论数 2

JSR 133 Java内存模型以及并发编程的最权威论文汇总

Java内存模型 先看官方文档: https://docs.oracle.com/javase/specs/ JSR 133:JavaTM内存模型和线程规范修订版:https://www.jcp.org/en/jsr/detail?id=133 JSR:Java规范请求所有JSR的...

2019-03-24 01:26:16

阅读数 338

评论数 0

Java12和Jdk12安装以及OpenJdk12源码

文档: JDK 12文档:https://docs.oracle.com/en/java/javase/12/ 下载: OracleJDK12下载:https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads...

2019-03-23 14:12:39

阅读数 3133

评论数 9

Redis源码和java jdk源码中hashcode的不同实现

一.redis实际上是使用了siphash 这个比较简单,我说的简单是指redis代码比较少不像jdk一样调用C++代码调用栈非常深。 先看这个rehashing.c 主要就是dictKeyHash函数,需要调用dict.h头文件中定义的dictGenHashFunction #incl...

2019-03-22 19:49:26

阅读数 295

评论数 0

Java使用字节码和汇编语言同步分析volatile,synchronized的底层实现

关于怎么查看字节码的五种方法参考本人另一篇文章《Java以及IDEA下查看字节码的五种方法》 查看汇编语言汇编码 说要看汇编还是很有必要的,因为有些地方比如加锁其实还是通过汇编实现的,只看字节码不能看出底层实现。 其实就是利用使用hsdis与jitwatch查看JIT后的汇编码。 1.首先...

2019-03-15 13:18:09

阅读数 276

评论数 0

JDK源码研究Jstack,JMap,threaddump,dumpheap的原理

JDK最新bug和任务领取:https://bugs.openjdk.java.net/projects/JDK/issues 参加OpenJDK社区:https://bugs.openjdk.java.net/projects/JDK/issues openjdk源码地址: https:/...

2019-03-13 19:53:11

阅读数 260

评论数 0

Java字节码研究

关于怎么查看字节码的五种方法参考本人另一篇文章《Java以及IDEA下查看字节码的五种方法》 1.String和常连池 先上代码: public class TestApp { public static void main(String[] args) { ...

2019-03-05 18:46:45

阅读数 2277

评论数 1

SpringBoot使用笔记

其实也是参考官方的:http://spring.io/guides/gs/rest-service/1.建立java应用程序起一个Maven的java应用程序,注意不要再起Web应用程序了:2.maven配置文件pom.xml: 4.0.0 com.xxx spring-...

2017-01-01 14:13:47

阅读数 4470

评论数 3

MySQL常用性能分析方法-profile,explain,索引

1.查版本号无论做什么都要确认版本号,不同的版本号下会有各种差异。>Select  version();2.执行状态分析显示哪些线程正在运行>show processlist;下面是完整的信息3.show profileshow profile默认的是关闭的,但是会话级别可以开启这个功...

2016-10-26 21:17:30

阅读数 4637

评论数 0

事务隔离机制原理深入分析以及MySQL不同隔离级别分场景下实验对比

这是我总结的事务的四种隔离机制,比较好理解,主要是有些地方文字游戏说不清楚很容易混淆: Read Uncommitted(读未提交)A未完,B已更新,未提交,A读到B已更新的数据,由于未提交,那么可能会回滚,所以这样的数据就是错误的数据也就是脏读。 Read Committed(读已提交)A未...

2016-10-18 18:59:38

阅读数 3708

评论数 1

Spring4实战学习笔记

《Spring4实战 第4版》2016年4月新出版的,之前的第三版看起来还是不错的,所以看到新版就直接买下来。英文版源码地址:Spring in Action, Fourth Edition Covers Spring 41.IOC装配Bean参考【Spring实战4 2.2】,作者提倡无XML配...

2016-05-12 18:42:40

阅读数 14022

评论数 2

Linux环境Nginx安装与调试以及PHP安装

linux版本:64位CentOS 6.4Nginx版本:nginx1.8.0php版本:php5.5.28 1.编译安装Nginx官网:http://wiki.nginx.org/Install下载# wget http://nginx.org/download/nginx-1.8.0.tar....

2015-08-17 15:06:15

阅读数 16198

评论数 1

Linux环境PHP7.0安装

PHP7和HHVM比较 PHP7的在真实场景的性能确实已经和HHVM相当, 在一些场景甚至超过了HHVM。HHVM的运维复杂, 是多线程模型, 这就代表着如果一个线程导致crash了, 那么整个服务就挂了, 并且它不会自动重启。另外它采用JIT, 那么意味着, 重启以后要预热, 没有预热的情况下,...

2015-08-16 22:53:14

阅读数 85762

评论数 6

MyEclipse2014配置Tomcat开发JavaWeb程序JSP以及Servlet

史上最强大的Myeclipse入门教程

2014-03-23 12:42:51

阅读数 51057

评论数 20

分布式消息队列Kafka集群安装

kafka是LinkedIn开发并开源的一个分布式MQ系统,现在是Apache的一个孵化项目。在它的主页描述kafka为一个高吞吐量的分布式(能将消息分散到不同的节点上)MQ。在这片博文中,作者简单提到了开发kafka而不选择已有MQ系统的原因。两个原因:性能和扩展性。Kafka仅仅由7000行S...

2014-02-17 09:26:54

阅读数 23472

评论数 3

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