自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lz710117239的博客

java程序员的博客

  • 博客(20)
  • 收藏
  • 关注

转载 怎么用java自带反编译工具查看java字节码文件

怎么用java自带反编译工具查看java字节码文件图文教程,用java自带反编译工具查看java字节码文件,首先,配置好java开发环境,环境变量各种配置,这里就不一一说了,相信大家都配置好了。下面入正题----怎么用java自带反编译工具查看java字节码文件工具/原料javapjava+java开发工具方法

2017-12-27 21:47:45 3538

转载 一份从0到1的java项目实践清单

虽说工作就是简单的事情重复做,但不是所有简单的事你都能有机会做的。  我们平日工作里,大部分时候都是在做修修补补的工作,而这也是非常重要的。做好修补工作,做好优化工作,足够让你升职加薪!  但是如果有机会,去尝试些自己平日里少做的事,我觉得是一件值得庆幸的事。  前段时间,接了个新项目。只有一些idea在业务需求方脑海里,然后就开始需求讨论,然后就开始做事了。项目不复杂,但是由于是用J

2017-12-27 21:33:36 1043

转载 HashMap在并发下可能出现的问题分析

我们都知道,HashMap在并发环境下使用可能出现问题,但是具体表现,以及为什么出现并发问题,可能并不是所有人都了解,这篇文章记录一下HashMap在多线程环境下可能出现的问题以及如何避免。在分析HashMap的并发问题前,先简单了解HashMap的put和get基本操作是如何实现的。1.HashMap的put和get操作大家知道HashMap内部实现是通过拉链法解决哈希冲突的,也

2017-12-27 20:29:54 3374

原创 线程池细节详解ThreadPoolExecutor

关于线程池的几个参数的含义,我们就不多说了,下面我们通过源码看下这几个参数分别是在什么地方使用到的:核心池大小与最大池大小是在执行任务的时候用到的,这里我们不多说。当线程池中没有任务,线程池就会维持核心池大小的线程,这个源码如下:当线程进来会先被封装成一个Worker类,这个类实现了Runnable接口,如下: private final class Worker

2017-12-27 19:57:29 621

转载 Servlet

一、Servlet简介  Servlet是sun公司提供的一门用于开发动态web资源的技术。  Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:  1、编写一个Java类,实现servlet接口。  2、把开发好的Java类部署到web服务器中。  按照一种约定俗成的称呼习惯,通

2017-12-25 21:59:59 188

原创 redis Lua脚本(二)

2017-12-19 22:48:52 362

原创 redis Lua脚本(一)

Redis从2.6版本开始引入对Lua脚本的支持,通过在服务器中嵌入Lua环境,Redis客户端可以使用Lua脚本,直接在服务端原子的执行多个Redis命令。其中,使用EVAL命令可以直接对输入的脚本进行求值:redis>EVAL "return 'hello world'" 0"hello world"而使用EVALSHA命令则可以根据脚本的SHA1校验和来对脚本进行求值,但这个命

2017-12-19 20:52:04 5618 1

转载 jdk8中的PermGen永久代去哪里

Java PermGen 去哪里了?原文链接:原文作者:Monica Beckwith  以下为本人翻译,仅用于交流学习,版权归原作者和InfoQ所有,转载注明出处,请不要用于商业用途在Java虚拟机(JVM)内部,class文件中包括类的版本、字段、方法、接口等描述信息,还有运行时常量池,用于存放编译器生成的各种字面量和符号引用。在过去(自定义类加载器还不是很常见的时候),类大多是”

2017-12-18 23:05:06 1176

转载 Redis分布式锁的正确实现方式(Java版)

本博客使用第三方开源组件Jedis实现Redis客户端,且只考虑Redis服务端单机部署的场景。前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客

2017-12-18 23:01:43 266

原创 SpringBoot源码解析(十七)ApringAOP的两种方式JdkDynamicAopProxy和Cglib2AopProxy源码解析

在springAOP中,创建动态代理有两种方式,jdk的动态代理与cglib。jdk的动态代理在springAOP中使用的是JdkDynamicAopProxy而cglib在springAOP中使用的类是Cglib2AopProxy,而且创建代理使用的类加载器基本都是ContextClassLoader类加载器。在springAOP中创建动态代理都是通过ProxyFactory的getPr

2017-12-17 21:21:57 4047

转载 redis配置文件讲解

# 守护进程模式# 默认情况下 redis 不是作为守护进程运行的,如果你想让它在后台运行,你就把它改成 yes# 当redis作为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面daemonize yes# 当redis作为守护进程运行的时候,它会把 pid 默认写到 /var/run/redis.pid 文件里面,但是你

2017-12-13 21:06:53 368

原创 Spring提取@Transactional事务注解的源码解析

Spring提取@Transactional事务注解的源码解析声明:本文是自己在学习spring注解事务处理源代码时所留下的笔记; 难免有错误,敬请读者谅解!!!1、事务注解标签 2、tx 命名空间解析器事务tx命名空间解析器TxNamespaceHandlerorg.springframework.transaction.config.TxNamesp...

2017-12-12 23:22:36 3612 1

原创 mybatis加载xml文件错误及其影响

一次在做一个项目的过程中,发现mybatis加载xml文件错误,导致了后面所有的sql都报了这个sql语句的错误,一时没有摸到头脑,在此分析下。在mybatis加载xml文件的时候,会解析所有的文件,同时把statement错误的文件放到一个集合中去,代码如下: private void buildStatementFromContext(List list, String requir...

2017-12-11 21:44:26 3259 1

原创 廖雪峰的git教程,gitlab安装教程

网上有一篇git教程写的特别好,是廖雪峰写的,现在把它地址记录下来:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

2017-12-08 20:16:50 1980

转载 Linux Socket过程详细解释

我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web 服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型 有哪些?还有socket的基本函数,这些都是本文想介绍的。本文的主要内容如下:1、网络中进程之间如何通信?2、Socket是什

2017-12-08 20:15:58 428

转载 cglib动态代理源码分析

本文分下面三个部分来分析cglib动态代理的原理。cglib 动态代理示例代理类分析Fastclass 机制分析 一、cglib 动态代理示例   1 public class Target{ 2 public void f(){ 3 System.out.println("Target f()"); 4 } 5 public

2017-12-06 00:05:16 1038 2

转载 Tomcat源码走读-内存泄露检测

Tomcat7提供了对内存泄露的检测,其实现放在Web的类加载器WebappClassLoader中进行。在加载器停止时(也即stop函数中)执行内存泄露的检测。 /** * 清除引用,防止内存泄露 */ protected void clearReferences() {  /** * 销毁注册的JDBC驱动 */ cl

2017-12-05 20:25:10 546

转载 Thread的中断机制(interrupt)

中断线程线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序本身。线程会不时地检测这个中断标示位,以判断线程是否应该被中断(中断标示值是否为true)。它并不像stop方法那样会中断一个正在运行的线程。判断线程是否被中断判断某个线程是否已被发送过中断请求,请使

2017-12-05 19:41:15 633

转载 innodb下的记录锁,间隙锁,next-key锁

你需要知道的之前我们介绍了排他锁,其实innodb下的记录锁(也叫行锁),间隙锁,next-key锁统统属于排他锁。行锁记录锁其实很好理解,对表中的记录加锁,叫做记录锁,简称行锁。生活中的间隙锁编程的思想源于生活,生活中的例子能帮助我们更好的理解一些编程中的思想。生活中排队的场景,小明,小红,小花三个人依次站成一排,此时,如何让新来的小刚不能站在小红旁边,这时候只要将小红和她前面的小明

2017-12-03 22:41:20 592

原创 ConcurrentHashMap源码解析(JDK8)

文章转自:https://my.oschina.net/hosee/blog/675884并发编程实践中,ConcurrentHashMap是一个经常被使用的数据结构,相比于Hashtable以及Collections.synchronizedMap(),ConcurrentHashMap在线程安全的基础上提供了更好的写并发能力,但同时降低了对读一致性的要求(这点好像CAP理论啊 O(∩_

2017-12-01 22:34:00 258

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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