blog.hongxi.org

Java生态研究(Spring Boot + Redis + Dubbo + RocketMQ)

Java生态研究(Spring Boot + Redis + Dubbo + RocketMQ)

  https://github.com/javahongxi/whatsmars whatsmars mvn clean package -Dmaven.test.skip jdk8+ maven3.3.1+  Java生态研究(Spring Boot + Redis + Dubbo ...

2017-06-21 23:56:54

阅读数:1478

评论数:3

JVM宕机分析

   一、能够引起JVM崩溃的常见原因有: 线程阻塞 CPU 使用率过高 JVM Crash 堆内存不足 类装载 Java虚拟机自身的Bug JDK与服务器(CPU、内存、操作系统)的兼容性 内存溢出 二、日志文件 hs_err_p...

2018-03-09 17:50:30

阅读数:105

评论数:0

Java8:Lambda表达式增强版Comparator和排序

1、概述 在这篇教程里,我们将要去了解下已经发布的JDK8中的Lambda表达式——特别是怎样使用它来编写Comparator和对集合(Collection)进行排序。   首先,让我们先定义一个简单的实体类: 1...

2018-03-09 17:49:50

阅读数:562

评论数:0

栈和局部变量

Java栈概述          记得当初我学习java时,常常听见身边的朋友说:“你要记住,当new一个对象时,对象的引用存放在栈里,而对象是存放在堆里的”。当时,听到这句教导时,脑海里立即出现栈的模型——里面存的仅仅是个引用。最近,看了下《深入J...

2018-03-09 17:49:25

阅读数:36

评论数:0

排查Java线上服务故障的方法和实例分析

前言   作为在线系统负责人或者是一个技术专家,你可能刚刚接手一个项目就需要处理紧急故障,或者被要求帮忙处理一些紧急的故障,这个时候的情景是:   (1)你可能对这个业务仅仅是听说过,而不怎么真正了解;   (2)你可能没有这个故障的详细信息,比如...

2018-03-09 17:49:22

阅读数:36

评论数:0

Java 理论与实践: 正确使用 Volatile 变量

        Java™ 语言包含两种内在的同步机制:同步块(或方法)和 volatile 变量。这两种机制的提出都是为了实现代码线程的安全性。其中 Volatile 变量的同步性较差(但有时它更简单并且开销更低),而且其使用也更容易出错。 Java...

2018-03-09 17:49:19

阅读数:27

评论数:0

如何创建线程

在前面,已经介绍了Java的基础知识,现在我们来讨论一点稍微难一点的问题:Java并发编程。当然,Java并发编程涉及到很多方面的内容,不是一朝一夕就能够融会贯通使用的,需要在实践中不断积累。由于并发肯定涉及到多线程,因此在进入并发编程主题...

2018-03-09 17:49:13

阅读数:220

评论数:0

Decorator模式及其他相似的模式

 Decorator模式 package com.whatsmars.tomcat.design.decorator; /** * @author javahongxi 用户留言板处理的接口 */ public interface MessageBo...

2018-03-09 17:49:01

阅读数:21

评论数:0

23种设计模式

目录 创建型 1. Factory Method(工厂方法) 2. Abstract Factory(抽象工厂) 3. Builder(建造者) 4. Prototype(原型) 5. Singleton(单例) 结构型 6. Adapter Cl...

2018-03-09 17:48:52

阅读数:38

评论数:0

一步步优化JVM一:概述、方法及需求

现代JVM是一个具有灵活适应各种应用能力的软件,尽管很多应用能够在JVM的默认配置下运行良好,但是有些应用还是需要优化JVM配置以达到其性能要求。由于各种各样的应用能够运行在现在JVM上面,所以大量的JVM选项可以配置来提升应用的性能。不幸的是,对一个应...

2018-03-09 17:48:03

阅读数:22

评论数:0

深入log4j源码

   slf4j即Simple logging facade for Java,其作用类似于JDBC,作为一个日志抽象层,它允许你在后台使用任意一个日志类库,比如log4j。如果是在编写供内外部都可以使用的API或者通用类库,那么你真不会希望使用你类库...

2018-03-09 17:47:54

阅读数:32

评论数:0

聊聊内存泄露

一、Java内存回收机制  不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址。Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Heap)中分配的,所有对象的回收都是由Java虚拟机通...

2018-03-09 17:47:40

阅读数:26

评论数:0

java 字节流和字符流的区别

字节流与和字符流的使用非常相似,两者除了操作代码上的不同之外,是否还有其他的不同呢?实际上字节流在操作时本身不会用到缓冲区(内存),是文件本身直接操作的,而字符流在操作时使用了缓冲区,通过缓冲区再操作文件,如图12-6所示。 &am...

2018-03-09 17:47:30

阅读数:23

评论数:0

Java:对象的强、软、弱和虚引用

本文介绍对象的强、软、弱和虚引用的概念、应用及其在UML中的表示。 author: ZJ 07-12-1 Blog: [url]http://zhangjunhd.blog.51cto.com/[/url] 1....

2018-03-09 17:47:10

阅读数:22

评论数:0

单例应该这么写

public class DoubleCheckSingleton { private volatile static DoubleCheckSingleton instance = null; private DoubleCheck...

2018-03-09 17:46:51

阅读数:26

评论数:0

一步步优化JVM六:优化吞吐量

如果你已经进行完了前面的步骤了,那么你应该知道这是最后一步了。在这一步里面,你需要测试应用的吞吐量和为了更高的吞吐量而优化JVM。    这一步的输入就是应用的吞吐量性能要求。应用的吞吐量是在应用层面衡量而不是在JVM层面衡量,因此...

2018-03-09 17:46:48

阅读数:22

评论数:0

设计模式之六大原则

关于设计模式的六大设计原则的资料网上很多,但是很多地方解释地都太过于笼统化,我也找了很多资料来看,发现CSDN上有几篇关于设计模式的六大原则讲述的比较通俗易懂,因此转载过来。   原作者博客链接:http://blog.csdn.net/Lov...

2018-03-09 17:46:19

阅读数:17

评论数:0

动态代理解释-JDK,CGLIB,JAVASSIST,ASM

动态代理是指在运行时,动态生成代理类。代理类的字节码将在运行时生成并载入当前的ClassLoader.          生成动态代理类的方法很多,如JDK自带的动态代理、CGLIB、Javassist或者ASM库。           JDK动...

2018-03-09 17:45:59

阅读数:39

评论数:0

JVM垃圾回收

一.对象查找    在对对象回收之前,需要首先查找出亟待回收的对象,在JVM中,采取"根检索"算法来查找"死亡"的对象;这个算法的基本思想是通过一系列名为"GC R...

2018-03-09 17:45:56

阅读数:26

评论数:0

HashMap解惑

 HashMap中有一些我们容易忽视的点 1. 关于key的hash和equals public V put(K key, V value) { if (table == EMPTY_TABLE) { infl...

2018-03-09 17:45:44

阅读数:28

评论数:0

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