自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

孟令杰

技术沉淀——想制造飞机大炮,要先学会制造每个零件!

  • 博客(252)
  • 资源 (22)
  • 收藏
  • 关注

原创 Juc并发编程之CompletableFuture多任务并行

业务背景,在项目开发中,在一个方法中需要同时查询四个不同的远程接口,这个接口可以并行请求,但需要同时拿到四个接口返回的结果才能继续执行业务。很显然这种情况通过串行调用,肯定可以实现,但是这样会造成阻塞时间长,性能低。例如现在有四个方法及其调用时间:

2023-09-01 16:24:08 299

原创 jstat命令详解

jstat命令使用类加载统计:编译统计垃圾回收统计堆内存统计新生代垃圾回收统计新生代内存统计老年代垃圾回收统计老年代内存统计元数据空间统计总结垃圾回收统计JVM编译方法统计jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下:jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数]注意:使用的jdk版本是jdk8.类加载统计:C:\Users\Administrator>jstat -class 2060Loaded Bytes Unload

2020-11-11 22:06:02 6928 1

原创 JAVA回调函数 接口类型参数

package com.jd.ls.job.destroy;public interface ComputeCallBack {public void onComputeEnd();}package com.jd.ls.job.destroy;public class TestCallBack {public void compute(int n, ComputeCallBack ca...

2019-04-09 15:23:22 970

原创 REDIS (13) 缓存的穿透,雪崩和热点key

穿透穿透:频繁查询一个不存在的数据,由于缓存不命中,每次都要查询持久层。从而失去缓存的意义。解决办法:①用一个bitmap和n个hash函数做布隆过滤器过滤没有在缓存的键。   ②持久层查询不到就缓存空结果,有效时间为数分钟。雪崩雪崩:缓存大量失效的时候,引发大量查询数据库。解决办法:①用锁/分布式锁或者队列串行访问           ②缓

2018-02-26 17:28:31 394

原创 java.lang.ClassFormatError javax/persistence/PersistenceException 错误解决办法

ERROR 2018-02-24 15:30:31,470 org.springframework.beans.factory.support.DefaultListableBeanFactory:581 - Destroy method on bean with name 'mongo' threw an exceptionjava.lang.ClassFormatError: Absent

2018-02-24 16:02:32 8270 1

哈希表、Java中HashMap

哈希算法,是一类算法;哈希表(Hash Table)是一种数据结构;哈希函数,是支撑哈希表的一类函数;Map是映射、地图的意思,在Java中Map表示一种把K映射到V的数据类型;HashMap是Java中用哈希数据结构实现的Map;HashMap如何实现数组索引的查找?主要这两个函数1.static final int hash...

2018-01-22 14:28:00 287

SQL索引一步到位

SQL索引在数据库优化中占有一个非常大的比例,一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱。  1.1什么是索引?  SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQLServer系统的性能,加快数据的查询速度与减少系统的响应时间下面举两个简单的例子:图书馆的例子:一个图书馆那么多书,怎么管理呢?建立一个字母开头的目录,例如:a开...

2018-01-17 09:33:00 217

解决hash冲突的三个方法

在Java编程语言中,最基本的结构就是两种,一种是数组,一种是模拟指针(引用),所有的数据结构都可以用这两个基本结构构造,HashMap也一样。当程序试图将多个 key-value 放入 HashMap 中时,以如下代码片段为例:HashMap<String,Object> m=new HashMap<String,Object>(); m.put("a...

2018-01-17 09:31:00 259

原创 从G1设计到堆空间调整

引言:如果你在使用Java8,或者计划使用Java9,有很大可能是要么在评估G1垃圾收集器,要么已经在使用它。本文将从G1设计开始向您介绍系统介绍G1垃圾收集器如何工作,助您更加系统的学习了解G1。 本文选自《Java性能调优指南》。G1设计  G1将Java堆分成多个分区。分区的大小可以依据堆的尺寸而改变,但必须是2的幂,同时最小为1MB,最大为32MB。由此得出可能的分区尺寸是

2018-01-10 10:19:46 406

从G1设计到堆空间调整

引言:如果你在使用Java8,或者计划使用Java9,有很大可能是要么在评估G1垃圾收集器,要么已经在使用它。本文将从G1设计开始向您介绍系统介绍G1垃圾收集器如何工作,助您更加系统的学习了解G1。 本文选自《Java性能调优指南》。G1设计  G1将Java堆分成多个分区。分区的大小可以依据堆的尺寸而改变,但必须是2的幂,同时最小为1MB,最大为32MB。由此得出可能的分...

2018-01-10 10:19:00 476

原创 JVM 三个代,JAVA8 持久代去哪了?

年轻代(Young Generation)、年老代(Old Generation)和持久代(Permanent Generation)。其中持久代主要存放的是Java类的类信息,与垃圾收集要收集的Java对象关系 不大。年轻代和年老代的划分是对垃 圾收集影响比较大的。 年轻代: 所有新生成的对象首先都是放在年轻代的。年轻代的目标就是尽可能快速的收集掉那些生 命周

2018-01-10 09:17:30 5418

JVM 三个代,JAVA8 持久代去哪了?

年轻代(Young Generation)、年老代(Old Generation)和持久代(Permanent Generation)。其中持久代主要存放的是Java类的类信息,与垃圾收集要收集的Java对象关系 不大。年轻代和年老代的划分是对垃 圾收集影响比较大的。 年轻代: 所有新生成的对象首先都是放在年轻代的。年轻代的目标就是尽可能快速的收集掉那些生 命周期短的对象...

2018-01-10 09:17:00 587 1

原创 JAVA8 新特性

前言: Java 8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级。在Java Code Geeks上已经有很多介绍Java 8新特性的文章,例如Playing with Java 8 – Lambdas and Concurrency、Java 8 Date Time API Tutorial : LocalDateTime和Abstract Class Versus Inte

2018-01-08 12:25:57 336

JAVA8 新特性

前言: Java 8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级。在Java Code Geeks上已经有很多介绍Java 8新特性的文章,例如Playing with Java 8 – Lambdas and Concurrency、Java 8 Date Time API Tutorial : LocalDateTime和Abstract Class Versus Int...

2018-01-08 12:25:00 168

原创 时间复杂度和空间复杂度详解

算法的时间复杂度和空间复杂度合称为算法的复杂度。1.时间复杂度(1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或

2017-12-28 11:53:50 450

时间复杂度和空间复杂度详解

算法的时间复杂度和空间复杂度合称为算法的复杂度。1.时间复杂度(1)时间频度一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或...

2017-12-28 11:53:00 292

原创 浅谈Java虚拟机

Java JVM我们知道JVM有五大区块, Method Area(方法区)、VMStack(java堆)、VM Heap(java栈)、Program counter Register( 程序计数器)、Native Method Area (本地方法栈)如图-1

2017-12-28 10:40:51 497

浅谈Java虚拟机

JVM 组成我们知道JVM有五大区块, Method Area(方法区)、VMStack(java堆)、VM Heap(java栈)、Program counter Register( 程序计数器)、Native Method Area (本地方法栈)如图-1 JVM区块图 图-1 JVM区块字典区块方法区Java堆...

2017-12-28 10:40:00 139

原创 浅谈java数据结构

数据结构分类:线性结构和非线性结构问题一:什么是线性和非线性;我个人的理解是:数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构;线性结构包括:数组,链表,队列,栈;非线性结构包括:树,图,表;详解:一.线性结构1.数组特点:我们都知道数组中的元素在内存中连续存储的,可以根据是下标快速访问元素,因此,查询速度很快,然而插入和删除时,需要对元

2017-12-28 08:43:17 367

浅谈java数据结构

数据结构分类:线性结构和非线性结构问题一:什么是线性和非线性;我个人的理解是:数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构;线性结构包括:数组,链表,队列,栈;非线性结构包括:树,图,表;详解:一.线性结构1.数组特点:我们都知道数组中的元素在内存中连续存储的,可以根据是下标快速访问元素,因此,查询速度很快,然而插入和删除时,需要对元...

2017-12-28 08:43:00 120

原创 一起学习thymeleaf模板引擎

thymeleaf模板引擎:英 [taim li:f] 美 [taɪm lif] 还有人叫 塞姆理符 拼音读法:saimu leifu 简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点:    1.Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏

2017-12-06 11:47:38 1900

一起学习thymeleaf模板引擎

thymeleaf模板引擎:英 [taim li:f] 美 [taɪm lif] 还有人叫塞姆理符 拼音读法:saimu leifu简单说, Thymeleaf 是一个跟 Velocity、FreeMarker 类似的模板引擎,它可以完全替代 JSP 。相较与其他的模板引擎,它有如下三个极吸引人的特点: 1.Thymeleaf 在有网络和无网络的环境下皆可运行,即它可以让美工在浏览器查...

2017-12-06 11:47:00 347

原创 区间值比较算法

/** * @author 孟令杰 * @time 2017年9月28 */package com.system.utils;import java.math.BigDecimal;public class CarConsumScoreUtils { private Integer purchaseScore;//购车费用评分 private Integer upkeepSco

2017-11-13 09:23:00 4023

区间值比较算法

一、配置类CarConsumScoreConfig.javapackage com.system.utils;public class CarConsumScoreConfig { private Integer purchaseScore;//购车费用评分 private Integer upkeepScore;//保养评分 private Integer valueRatio...

2017-11-13 09:23:00 1177

原创 JAVA利用HttpClient进行HTTPS接口调用

https 协议 在 http 基础上做了一次算法加密,但并不是完全安全的。我们可以通过躲避证书,绕过加密算法来获取数据。一、jar 包版本准确定位:httpcore-4.2.4.jar 和 httpclient-4.2.5.jar二、代码:1.为了避免需要证书,所以用一个类继承DefaultHttpClient类,忽略校验过程。package com.chexun

2017-10-31 09:46:08 4858

JAVA利用HttpClient进行HTTPS接口调用

https 协议 在 http 基础上做了一次算法加密,但并不是完全安全的。我们可以通过躲避证书,绕过加密算法来获取数据。一、jar 包版本准确定位:httpcore-4.2.4.jar 和 httpclient-4.2.5.jar二、代码:1.为了避免需要证书,所以用一个类继承DefaultHttpClient类,忽略校验过程。package com.chexun.core.u...

2017-10-31 09:46:00 818

原创 Eclipse远程调试Tomcat方法

Linux中配置tomcat在catalina.sh中添加如下CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888"(不要换行,要在同一行)Eclipse debug 下点击Debug Configurac...

2017-10-25 13:47:42 361

Eclipse远程调试Tomcat方法

Linux中配置tomcat在catalina.sh中添加如下CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5888"(不要换行,要在同一行)Eclipse debug 下点击Debug Conf...

2017-10-25 13:47:00 100

转载 velocity学习笔记

转载自:http://wiki.hotoo.me/Velocity-Notes.htmlVelocity Notes变量名$name为空时打印变量本身。$!name为空时打印空字符串(不打印任何内容)。${name}类似 $name,为空时原样打印。但可以将变量和连续的字符串分隔,例如:${name}space。$!{name}类似 $!name,为空时打印空字符串,但

2017-09-30 10:07:11 437

velocity学习笔记

转载自:http://wiki.hotoo.me/Velocity-Notes.htmlVelocity Notes变量名$name为空时打印变量本身。$!name为空时打印空字符串(不打印任何内容)。${name}类似$name,为空时原样打印。但可以将变量和连续的字符串分隔,例如:${name}space。$!{name}类似$!name,为空时打...

2017-09-30 10:07:00 103

原创 静态方法加锁,和非静态方法加锁区别

今天看了到有意思的题:在静态方法上加锁 和 非静态方法加锁 有什么区别,从而再次引出锁机制的一些理解。先看方法: // 这是一个很简单的类,里面共享静态变量 num,然后一个静态 和 非静态方法,都加上锁// 我们假设有两个线程同时操作这两个方法,那么数据能互斥吗?Java代码public class Walk { public static int num

2017-08-17 17:56:24 544

静态方法加锁,和非静态方法加锁区别

今天看了到有意思的题:在静态方法上加锁 和 非静态方法加锁 有什么区别,从而再次引出锁机制的一些理解。先看方法:// 这是一个很简单的类,里面共享静态变量 num,然后一个静态 和 非静态方法,都加上锁// 我们假设有两个线程同时操作这两个方法,那么数据能互斥吗?Java代码public class Walk { public static int num = ...

2017-08-17 17:56:00 538 1

原创 MongoDB 基本用法

一、查询openId 字段是否存在db.getCollection('common_reviews').find({openId:{ $exists: true }})

2017-08-17 17:32:51 257

MongoDB 基本用法

一、查询openId 字段是否存在db.getCollection('common_reviews').find({openId:{ $exists: true }})db.getCollection('video_Temp').find({"carSeriesBind":{"$in":[1942,104042]}}).count()

2017-08-17 17:32:00 98

原创 检查线程是否关闭

//抓取XXXX 车型任务 public void executeModel() { long startTime = System.currentTimeMillis(); final int nThreads = 12; ExecutorService executor = Executors.newFixedThreadPool(nThreads); List list =

2017-07-20 18:17:48 535

检查线程是否关闭

//抓取XXXX 车型任务 public void executeModel() { long startTime = System.currentTimeMillis(); final int nThreads = 12; ExecutorService executor = Executors.newFixedThreadPool(nThreads); List<Car...

2017-07-20 18:17:00 200

原创 jdbc PreparedStatement ps 对象的execute()方法 无法执行,无反应

原因是行被锁住了。执行下面方法 查询被锁对象1.下面的语句用来查询哪些对象被锁:select b.username,b.sid,b.serial#,logon_timefrom v$locked_object a,v$session bwhere a.session_id = b.sid order by b.logon_time2.下面的语句用来杀死一个进程:执行

2017-07-20 18:03:30 2509

jdbc PreparedStatement ps 对象的execute()方法 无法执行,无反应

原因是行被锁住了。执行下面方法 查询被锁对象1.下面的语句用来查询哪些对象被锁:select b.username,b.sid,b.serial#,logon_timefrom v$locked_object a,v$session bwhere a.session_id = b.sid order by b.logon_time2.下面的语句用来杀死一个进程:执行 alter...

2017-07-20 18:03:00 753

原创 java 利用反射机制,获取实体所有属性和方法,并对属性赋值

一个普通的实体Person:private int id;private String name;private Date createdTime;...//其它字段// get set方法...............现在需要把通过webService传过来的实体Person里面的所有字段的null值,换成""实现思路:1.获取实体的所有字段,遍历2.获取字段类型3.

2017-07-18 10:12:19 452

java 利用反射机制,获取实体所有属性和方法,并对属性赋值

一个普通的实体Person:private int id;private String name;private Date createdTime;...//其它字段// get set方法...............现在需要把通过webService传过来的实体Person里面的所有字段的null值,换成""实现思路:1.获取实体的所有字段,遍历2.获取字段类型3....

2017-07-18 10:12:00 178

Win7环境下安装Mac OS双系统及Iphone开发SDK iphone开发环境搭建

Win7环境下安装Mac OS双系统及Iphone开发SDK iphone开发环境搭建

2022-03-10

JAVA核心知识点全集

第一章:jvm、第二章:java集合、第三章:java多线程并发、第四章:java基础、第五章:Spring原理、第六章:微服务、第七章:Netty 与 RPC、第八章:网络、第九章:日志、第十章:Zookeeper、第十一章:Kafka、第十二章:RabbitMQ、第十三章:Hbase、第十四章:MongoDB、第十五章:Cassandra、第十六章:设计模式、第十七章:负载均衡、第十八章:数据库、第十九章:一致性算法、第二十章:JAVA算法、第二十一章:数据结构、第二十二章:加密算法、第二十三章:分布式缓存、第二十四章:Hadoop、第二十五章:Spark、第二十六章:Storm、第二十七章:YARN、第二十八章:机器学习、第二十九章:云计算

2022-03-10

RocketMQ开发文档下载

RocketMQ 阿里开发文档,提供给大家!

2016-05-23

RocketMQ_原理简介

2016-05-17

power designer 12.5及破解补丁

power designer 12.5及破解补丁,在网上不太好找。费了我很大的力气终于成功了。今天把安装步骤和破解补丁上传方便大家使用。

2010-05-20

ORACLE_DBA常用脚本.ppt

ORACLE_DBA常用脚本,有时间可以看一看。

2010-03-03

struts-1.3.8-all.zip struts jar包下载

struts-1.3.8-all.zip struts jar包下载才是大家最需要的东西。今天有空把它共享给大家。

2010-03-03

JAVA程序员必读---编程中的一些共同的问题

今日把《JAVA程序员必读---编程中的一些共同的问题》给大家希望大家能够喜欢。

2010-02-11

Java学习路径(二)书籍篇

今日把《Java学习路径(二)书籍篇》给大家希望大家能够喜欢。

2010-02-11

Java学习路径(二)书籍篇

今日把《Java学习路径(二)书籍篇》给大家希望大家能够喜欢。

2010-02-11

Java常见问题集锦

今日把我本人的Java常见问题集锦给大家分享希望大家能够喜欢。

2010-02-11

Java设计模式使用手册

Java设计模式才是大家最需要的东西。今天有空把它共享给大家。

2010-02-09

struts2-upload-jar

今天把上传下载Jar包struts2-upload-jar,上传供大家分享。

2010-02-05

java性能优化学习材料

今天把java性能优化的学习材料共享给大家参考。

2010-02-04

myeclipse6.0集成svn

今天把myeclipse6.0集成svn共享给大家文档。

2010-02-04

struts2-jar

今天把struts2-jar的jar文件传上来供大家下载。

2010-01-31

Ibatis-2.3-jar

今天把Ibatis-2.3-jar文件上传上来,方便大家使用。

2010-01-31

SVN中文帮助手册.chm

今天把SVN中文帮助手册.chm,上传上来方便大家使用。

2010-01-31

<邮件自动发送>例子-Java实现

最近用Java写了个邮件自动发送的功能,今日把例子发给大家进攻参考。

2010-01-31

EL标签的jar文件

我将EL标签的支持jar包直接提供给大家,为大家节省一点宝贵时间。

2010-01-31

oracle10g-jar

今天有时间把,oracle10g的jar包放上来方便大家使用。

2010-01-31

通过java操作excel表格的工具类库

将下载后的文件解包,得到JXL.JAR,放入classpath,安装就完成了。如果包不能正常的加载,可以把你下载好的JXL.JAR包放入D:\JAVA\jre\lib\ext中(我的是JDK1.6)就OK了。我相信在配置TOMCAT时也需要把相关的三个包放到这里面。

2009-11-24

空空如也

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

TA关注的人

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