自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

博客园搬家测试账号

dennyzhangdd--只会一点java

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

原创 高级java必会系列一:常用线程池和调度类

众所周知,开启线程2种方法:第一是实现Runable接口,第二继承Thread类。(当然内部类也算...)常用的,这里就不再赘述。本章主要分析:1.常用线程池2.常用调度类。===========================一、线程池1.newCachedThreadPool       (1)缓存型池子,先查看池中有没有以前建立的线程,如果有,就reuse,如果没有,就建立一个...

2018-03-15 19:21:53 127

原创 高级java必会系列二:多线程经常使用的3个关键字:synchronized、ReentrantLock、volatile...

系列一讲解了多线程,本章讲解多线程开发中经常使用到的3个关键字synchronized、ReentrantLock、volatile。一、synchronized  互斥锁,即操作互斥,并发线程过来,串行获得锁,串行执行代码。就像一个房间一把钥匙,一个人进去后,下一个人得等第一个人出来得到钥匙才能进入。如果代码写的不好(A),可能出现死锁!(A得到锁,B等待A释放锁,A不释放,B死锁)示例代...

2018-03-15 19:21:41 205

原创 RSA加密

1.RSA的公钥和私钥到底哪个才是用来加密和哪个用来解密?答:公钥加密私钥可解,私钥加密公钥可解。2.RSA非对称加密特点?答:算法强度复杂、加密解密速度比对称加密解密的速度慢。一个公钥,对外开放。一个私钥自己保存。3.如何使用?直接上流程图。 ...

2018-03-15 19:21:39 106

原创 基于Redis的爬虫平台的实现

一、需求:1.数据抓取:目标数据的下载、解析、入库功能。2.数据服务:黑名单、灰名单等查询服务。3.平台监控:平台各个模块的数据实时监控。二、WEB端效果展示:三、架构设计下载器、解析器、持久器、调度器都支持独立部署,可横向拓展部署多台服务。解耦。下载器内部开启多线程下载;解析器从待解析队列取数据,分支抽链、解析;调度器和持久器都放在web工程中,项目启动时抓取任务初始化+持...

2018-03-15 19:21:39 202

原创 jar包目录下MANIFEST.MF标准格式

jar包目录格式:|-- com| |-- test.class|-- META-INF| |-- MAINFEST.MF一个正常的jar包下必有META-INF/MANIFEST.MF清单文件,该文件的标准格式为:1. 常规属性Mainfest-Version: JAR版本号Created-By: 生产者Signature-Version: 签名版本Class-Pat...

2018-03-15 19:21:35 402

原创 maven常用插件pom配置

一、问题描述:部署一个maven打包项目时,jar包,依赖lib包全部手动上传至服务器,然后用maven部署报错:Exception in thread "main" java.lang.NoClassDefFoundError:,当时心想可能是依赖的lib包有问题,各种重新部署(以为是依赖的包没有更新),确忽略了一个大问题:pom.xml没仔细检查。解决方法:最终发现<plugin&gt...

2018-03-15 19:21:33 223

原创 eclipse下SVN同步时忽略target文件夹

直接干货:window-->preferences-->team-->Ignored Resource-->Add Pattern-->新建一个*/target/*-->ok,再次同步可见traget下所有文件已不在。

2018-03-15 19:21:18 126

原创 日志监控系统中,大批量查询mysql方案

最近开发遇到一个问题:需要查询一个大时间段内的数据,分1000个小段,即为1000个点。X轴是时间,Y轴是该小时间段内统计后数据。注意:数据返回是一个list,其中每个对象返回值都是该小时间段内数据统计出来的,且需要根据入参顺序返回(这样前端展示就方便)。举例,查询12点到1点的数据,查询频率是30分钟,那么就需要查询11:30-12:00,12:00-12:30,12:30-1:00这三段数据(...

2018-03-15 19:21:12 201

原创 Eclipse Memory Analyzer,内存泄漏插件,安装使用一条龙

网上文档很多,但最初都有问题。整理一份,作为备份。使用过程:开发代码写完后,对可能出现内存溢出的代码,添加配置文件,生成.hprof文件,用memory Analyzer分析排查问题,且泄漏内存大小可配置。具体安装测试一条龙如下:1.安装:help-》install new software -》work with :  这里填写eclipse版本:  Kepler - http://down...

2018-03-15 19:21:02 91

原创 java基础算法-快速排序

玩博客园很多年,第一次写点什么,就从基础开始吧。最近去面试,发现自己算法忘光了,赶紧复习下。以下代码自带测试类,复制进eclipse中右键 run as --》java application 即可。控制台清晰打印出快排的过程。  1 package test; 2 3 4 /** 5 * 6 * 排序算法测试类 7 * 8 */ 9 public class ...

2018-03-15 19:20:58 149

原创 PowerDesigner连接mysql逆向生成pdm

常用的建模工具有:PowerDesigner和ERWin,后者已快被淘汰,但前者依然活跃。相信大家都遇到过项目组已经运营很很久,但是竟然连一个ER图都没有,今天就讲解一下PowerDesigner连接mysql逆向生成pdm。PS:网络上各种老版本,各种文不对题,按照本文去做,10分钟即可搞定,就是这么简单。假设大家已经安装好PowerDesigner,本人使用版本号15.1破解汉化版。1.安...

2018-03-15 19:20:54 158

原创 jdk源码剖析二: 对象内存布局、synchronized终极原理

目录1.启蒙知识预热:CAS原理+JVM对象头内存存储结构2.JVM中synchronized锁实现原理(优化)3.从C++源码看synchronized4.总结 很多人一提到锁,自然第一个想到了synchronized,但一直不懂源码实现,现特地追踪到C++层来剥开synchronized的面纱。网上的很多描述大都不全,让人看了不够爽,看完本章,你将彻底了解synchronized...

2018-03-15 19:19:54 183

原创 jdk源码剖析一:OpenJDK-Hotspot源码包目录结构

开启正文之前,先说一下源码剖析这一系列,就以“死磕到底”的精神贯彻始终,JDK--》JRE--》JVM(以openJDK代替)=========正文分割线===========最近想看看JDK8源码,但JDK中JVM(安装在本地C:\Program Files\Java\jdk1.8.0_121\jre\bin\server下jvm.dll)本身并不开源,只能找来openJDK来看(说是和JDK相...

2018-03-15 19:19:53 823

原创 设置火狐新建标签页--终极方案,17年最火狐亲自测试可行!

当前版本:52.0.1新建标签页,火狐默认打开一个网址,真恶心。1.点击附加组件--》标签页优化--》移除。2.安装插件:http://mozilla.com.cn/forum.php? ... highlight=new%2Btab,设置如下:关闭标签页即可,再次点击加号,新建标签页就改成新浪首页了。...

2018-03-15 19:19:52 669

原创 JDK8-十大新特性-附demo

JDK9原计划17年上半年就发版,但未成功发版。才发现JDK8的特性还没总结过,特此总结。一、十大特性。1.Lambda表达式2.Stream函数式操作流元素集合3.接口新增:默认方法与静态方法4.方法引用,与Lambda表达式联合使用5.引入重复注解6.类型注解7.最新的Date/Time API (JSR 310)8.新增base64加解密API9.数组并行(paralle...

2018-03-15 19:19:39 185

原创 jdk源码剖析三:锁Synchronized

开启正文之前,先说一下源码剖析这一系列,就以“死磕到底”的精神贯彻始终,一直追踪到c++。 目录:1. Synchronized作用2.Synchronized常见用法分析3.Synchronized 原理4.Synchronized 优缺点5.总结一、Synchronized作用(1)确保线程互斥的访问同步代码(2)保证共享变量的修改能够及时可见(3)有效解决重排序问题。...

2018-03-15 19:19:35 161

原创 Raft算法

http://www.cnblogs.com/mindwind/p/5231986.html

2018-03-15 19:19:30 97

原创 Paxos算法

Paxos算法

2018-03-15 19:19:27 148

原创 mysql事务隔离级别和MVCC

一、三种问题:脏读(Drity Read):事务A更新记录但未提交,事务B查询出A未提交记录。不可重复读(Non-repeatable read):在一个事务的两次查询之中数据不一致,这可能是两次查询过程中间插入了一个事务更新的原有的数据。幻读(Phantom Read):在一个事务的两次查询中数据笔数不一致,例如有一个事务查询了几行数据,而另一个事务却在此时插入了几行数据,先前的事务在接下...

2018-03-15 19:19:18 213

原创 zookeeper分布式锁

方案1: 算法思路:利用名称唯一性,加锁操作时,只需要所有客户端一起创建/test/Lock节点,只有一个创建成功,成功者获得锁。解锁时,只需删除/test/Lock节点,其余客户端再次进入竞争创建节点,直到所有客户端都获得锁。特点:这种方案的正确性和可靠性是ZooKeeper机制保证的,实现简单。缺点是会产生“惊群”效应,假如许多客户端在等待一把锁,当锁释放时候所有客户端都被唤醒,仅仅有一个客户...

2018-03-15 19:19:10 106

原创 JDK1.8导致发送邮件失败

问题:本地JDK1.6测试可以发送邮件,但是linux上jdk1.8发送邮件失败。报错:Sending the email to the following server failed : smtp.exmail.qq.com:465   caused by :javax.net.ssl.SSLHandshakeException: Received fatal alert: handshak...

2018-03-15 19:19:00 586

原创 从Thread.start()方法看Thread源码,多次start一个线程会怎么样

这篇文章作为Thread类源码剖析的补充,从一个侧面来看Thread源码。也解答了面试高频问题:“多次start一个线程会怎么样?”答案是:java.lang.IllegalThreadStateException   线程状态非法异常   继承关系是:--->extends IllegalArgumentException--->extends RuntimeException一个...

2018-03-15 18:54:46 441

原创 Java中关于WeakReference和WeakHashMap的理解

新美大的10月11日的笔试中有一道选择题,让选择函数返回结果,代码如下: 1 private static String test(){ 2 String a = new String("a"); 3 WeakReference<String> b = new WeakReference<String>(a); 4 ...

2018-03-15 18:54:41 122

原创 Java线程与Linux内核线程的映射关系

  Linux从内核2.6开始使用NPTL (Native POSIX Thread Library)支持,但这时线程本质上还轻量级进程。   Java里的线程是由JVM来管理的,它如何对应到操作系统的线程是由JVM的实现来确定的。Linux 2.6上的HotSpot使用了NPTL机制,JVM线程跟内核轻量级进程有一一对应的关系。线程的调度完全交给了操作系统内核,当然jvm还保留一些策略足以影响...

2018-03-15 18:54:21 138

原创 Java异常简介、异常捕获还是上抛总结

概要本章对Java中的异常进行介绍。内容包括:1.Java异常简介2.Java异常框架  一、Java异常简介  Java异常是Java提供的一种识别及响应错误的一致性机制。  Java异常机制可以使程序中异常处理代码和正常业务代码分离,保证程序代码更加优雅,并提高程序健壮性。在有效使用异常的情况下,异常能清晰的回答what, where, why这3个问题:异常类型回答了“什么”被抛出...

2018-03-15 18:54:18 1273

原创 zookeeper(zkCli)命令概览

连接:./zkCli.sh -timeout 0 -r -server ip:port-timeout:当前会话的超时时间,zookeper依靠与客户端的心跳来判断会话是否有效,单位是毫秒-r: 只读模式,zookeeper的只读模式指一个服务器与集群中过半机器失去连接以后,这个服务器就不在不处理客户端的请求,但我们仍然希望该服务器可以提供读服务。-server: zookeeper...

2018-03-15 18:54:10 363

原创 Thread类源码剖析

目录1.引子2.JVM线程状态3.Thread常用方法4.拓展点  一、引子说来也有些汗颜,搞了几年java,忽然发现竟然没拜读过java.lang.Thread类源码,这次特地拿出来晒一晒。本文将剖析Thread类源码(本文后面源码全部默认JDK8),并讲解一些重要的拓展点。希望对大家能有一些帮助。本文讲解主干全部出自源码和注释,保证了权威性。(注意:网上,某些书中很多观点都...

2018-03-15 18:54:05 183

原创 Java的LockSupport.park()实现分析(转载)

LockSupport类是Java6(JSR166-JUC)引入的一个类,提供了基本的线程同步原语。LockSupport实际上是调用了Unsafe类里的函数,归结到Unsafe里,只有两个函数:1 public native void unpark(Thread jthread); 2 public native void park(boolean isAbsolu...

2018-03-15 18:54:04 331

原创 在openjdk8下看Unsafe源码

尽管有传言JAVA9可能会移除Unsafe类,但不妨碍我们理解它的原理。因为类不在了,native方法还在那里。就像菜换样了,食材就那些没变。一个好厨师不仅仅需要会做菜,还需要能识别食材特性...来吧,直接上干货。注:强烈不建议程序中自己调用Unsafe类方法,这一点没有质疑。目录1.前言2.Unsafe中的native方法3.Unsafe中的上层方法=======正文分割线=====...

2018-03-15 18:53:53 526

原创 AbstractQueuedSynchronizer AQS框架源码剖析

目录1.引子2.AQS架构设计原理3.AQS源码实现4.简单应用5.总结====正文分割线============一、引子Java.util.concurrent包都是Doug Lea写的,来混个眼熟是的,就是他,提出了JSR166(Java Specification RequestsJava 规范提案),该规范的核心就是AbstractQueuedSynchronizer同...

2018-03-15 18:53:45 134

原创 终极锁实战:单JVM锁+分布式锁

目录1.前言2.单JVM锁3.分布式锁4.总结=========正文分割线=================1.前言锁就像一把钥匙,需要加锁的代码就像一个房间。出现互斥操作的典型场景:多人同时想进同一个房间争抢这个房间的钥匙(只有一把),一人抢到钥匙,其他人都等待这个人出来归还钥匙,此时大家再次争抢钥匙循环下去。作为终极实战系列,本篇用java语言分析锁的原理(源码剖析)和应用(详...

2018-03-15 18:53:44 215

原创 十大基础排序算法[java源码+动静双图解析+性能分析]

一、概述作为一个合格的程序员,算法是必备技能,特此总结十大基础排序算法。java版源码实现,强烈推荐《算法第四版》非常适合入手,所有算法网上可以找到源码下载。PS:本文讲解算法分三步:1.思想2.图示3.源码4.性能分析1.1 时间复杂度算法的运行时间,在这里主要考量:比较和交换的成本。常见的时间复杂度排序:常数阶O(1)<对数阶O(log2n)<线性...

2018-03-13 11:32:00 478 1

空空如也

空空如也

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

TA关注的人

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