自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhzhl

zhzhl

  • 博客(83)
  • 资源 (9)
  • 收藏
  • 关注

原创 Oauth2 理解

一、名词定义:资源 Resource资源所有者 Resource Owner资源服务器 Resource Server认证服务器 Authenticate Server客户端 Client客户端对应的服务器 ClientServer二、用例淘宝获取用户信息、github获取用户信息、用户授权快递员门禁码送快递三、前提:客户端系统 先在 【认证服务器 Authenticate Server】 注册 得到 appId 和 appSecret四、方式:...

2022-02-24 16:31:14 2983

转载 JVM与linux系统时间不一致问题

Java运行打印日志与系统时间不一致问题解决方法:1.修改/etc/sysconfig/clock文件,若没有该文件则创建。#编辑/etc/sysconfig/clocksudo vim /etc/sysconfig/clock#添加如下内容ZONE="Asia/Shanghai"UTC=falseARC=false2.设置linux的时区设置为上海时区ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime3...

2020-05-13 15:33:38 776

原创 Linux循环复制文件

#!/bin/bashn=1551341463614614j=0for ((i=1; i<=10; i++))do for faceFile in `ls /home/zhzhl/face_image/face_test/face_image_1_1/face1` do new=$[n+j] echo $new cp $faceFile /home/zhzhl/fa...

2020-03-20 17:25:46 2547

原创 Centos 6 升级gcc4.8

CentOS 6 升级安装gcc 4.8CentOS6.6通过yum升级gcc/g++至版本4.8.2(最简易方式)

2020-03-17 16:16:14 226

转载 Centos6 glibc2.14 libc.so.6

mkdir ~/glibc_install; cd ~/glibc_install wget http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gztar zxvf glibc-2.14.tar.gzcd glibc-2.14mkdir buildcd build../configure --prefix=/opt/glibc-2.1...

2020-03-17 16:14:17 244

原创 Redis

Redis主要用于缓存,自定义map、guava的缓存也可以用于简单缓存。自定义缓存时,注意value要使用SoftReference包装,以便JVM回收guava缓存:CacheBuilder、LoadingCache1. 数据结构1. string2. list3. hash4. set5. zset6. stream(5.0新增)2. 持久化RDBAOF...

2020-02-19 10:12:19 202

原创 RabbitMQ

RabbitMQ是实现了AMQP(高级消息队列协议)的开源消息代理软件。RabbitMQ服务器是用Erlang语言编写的,而聚类和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。AMQP从上到下分为:Model(提供命令)、Session(协议处理)、Transport(数据传输)1.结构[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直...

2020-02-14 11:17:49 117

原创 通过一个外卖例子了解分布式事务解决方案

通过外卖例子了解分布式事务解决方案。使用SpringBoot和RabbitMQ为例。1. RabbitMQRabbitMQ使用Erlang语言开发,是AMQP(Advanced Message Queuing Protocol)高级消息队列协议的实现。有五个重要的概念生产者消费者QueueExchangeBind流程生产者发送消息时并不直接发送到队列,而是通过Exc...

2020-02-10 22:53:36 395

原创 MacOS编译OpenJDK9

一、下载源码直接下载源码包,使用mercurial下载速度慢,容易失败。源码网站:http://jdk.java.net/Jdk9源码地址https://download.java.net/openjdk/jdk9/ri/openjdk-9_src.zip或者从:https://github.com/unofficial-openjdk/openjdk/re...

2019-12-20 09:12:24 263

原创 Java注解

1.Java使用接口Annotation来描述注解。使用AnnotatedElement来获取Annotation其他注解不能继承该接口(直接报错)。可以使用接口继承,单继承后只能是普通接口,不再是注解。jvm在编译后自动为注解加上继承Annotation,可以使用javap反编译查看2.元注解(注解其他注解的注解)Target :注解位置 值为ElementType枚举的实例。如 类...

2019-12-16 11:51:58 99

原创 mysql的物理分页与逻辑分页

1.逻辑分页查出所有的数据,使用程序进行分页。占用内存大、数据更新不能及时反馈、不用频繁查询数据库2.物理分页每次查询数据库,使用limit占用内存小、数据更新及时反馈、频繁查询数据库3.limit使用技巧limit a,b 当a越来越大时,销量会下降。改进:使用where条件(该列有索引时会使用索引)where 列名>a limit b...

2019-12-06 11:11:12 489

原创 Mybatis加载过程分析

1. 本地加载2.spring集成1.web.xml中配置spring-mvc的配置文件buildSqlSessionFactory构建SqlSessionFactory。2.在spring-mvc中配置mybatis的配置2.1 sqlSessionFactory (->InitializingBean接口,实现afterPropertiesSet方法。在afterPropert...

2019-12-06 09:54:17 185

转载 【转】彻底找到Tomcat启动速度慢的元凶

彻底找到Tomcat启动速度慢的元凶

2019-05-22 16:38:46 415

原创 【Spring-boot】使用spring cache缓存,集成redis

一、spring cache是spring缓存。spring-boot默认使用ConcurrentMapCacheManager作为缓存管理器,当没有指定缓存配置时使用。二、加入依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin...

2019-05-09 11:02:44 319

原创 【Spring-boot】分离三方依赖

由于某种原因,不想使用Spring-boot默认打包方式,需要分离出依赖包:1.pom配置:<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> ...

2019-05-06 10:52:41 614

原创 【设计模式】观察者模式

1.定义观察者模式属于对象行为型模式模式观察者的英文软体设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实时事件处理系统。2.结构3.原理Observer 观察者 notify方法:当Subject有变化时,此方法被调用Subject 主题,又叫被观察者。持有...

2019-03-06 10:49:00 141

原创 【设计模式】策略模式

策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。比如每个人都要“交个人所得税”,但是“在美国交个人所得税”和“在中国交个人所得税”就有不同的算税方法。策略模式:定义了一族算法(业务规则);封装了每个算法;这族的算法可互换代替(interchangeable)。参考:策略模式Java与模式...

2019-02-21 16:37:24 108

原创 docker使用nginx

1、启动docker container run -d -p 127.0.0.1:8080:80 --rm --name mynginx nginx-d:在后台运行-p :容器的80端口映射到127.0.0.1:8080–rm:容器停止运行后,自动删除容器文件–name:容器的名字为mynginx2、停止docker container stop mynginx3、查看docke...

2019-02-13 11:24:07 146

转载 理解OAuth 2.0

理解OAuth 2.0

2019-01-30 14:07:54 133

原创 【Spring-boot】使用aop记录访问日志

引入依赖&lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artifactId&gt;spring-boot-starter-aop&lt;/artifactId&gt;&lt;/dependency&gt;加入记录日志功能@Slf4j@Aspect@Compo...

2019-01-21 11:58:22 238

原创 位运算符

位运算符用来对二进制位进行操作,~,&amp;,|,^分别为取反,按位与与,按位与或,按位与异或运算,如下表实例:如果指定 A = 60; 及 B = 13; 两个变量对应的二进制为:A = 0011 1100B = 0000 1101进行位运算:参考:http://www.runoob.com/swift/swift-operators.html...

2019-01-19 11:40:32 123

转载 java中的AES 256算法遇到 Illegal key size or default parameters错的解决办法

报错信息:Caused by: java.security.InvalidKeyException: Illegal key size or default parameters问题原因:Java几乎各种常用加密算法都能找到对应的实现。因为美国的出口限制,Sun通过权限文件(local_policy.jar、US_export_policy.jar)做了相应限制。因此存在一些问题:密...

2019-01-16 11:07:21 238

转载 数据库表连接的简单解释

数据库表连接的简单解释

2019-01-16 09:08:19 144 3

原创 java.util.HashMap

一、注释hash table的Map接口实现。HashMap提供所有map的可选操作,允许键和值为null。(HashMap除了unsynchronized和允许null值,与Hashtable相同)。HashMap不保证元素顺序,特别是随着时间推移。在hash函数正确的分散元素到buckets中时,HashMap对基本的get和put操作提供常数项时间性能。对集合视图的迭代则与HashMa...

2019-01-11 11:06:10 1164

原创 【Spring-boot】shiro权限控制

缓存使用redis,自定义ShiroRedisCache、ShiroRedisCacheManager用于存储用户缓存信息自定义MyShiroToken继承自AuthenticationToken。用于用户名密码载体进行认证public class MyShiroToken implements AuthenticationToken { private AdminUse...

2019-01-07 15:28:21 138

原创 【Spring-boot】spring-batch传参数问题

Spring-boot集成spring-batch传参数时一般方法为: @Bean(&quot;step1Reader&quot;) public JdbcPagingItemReader&amp;lt;T&amp;gt; step1Reader(DataSource dataSource) { Map&amp;lt;String, Order&amp;gt; sortKeys = Maps.newHashMap(); ...

2018-12-18 14:13:37 8037 2

原创 Java8流式操作与Collectors

Java8 流式操作笔记集合关注的是它当中元素元素有效的管理和访问。Stream关注的是它的源source的各种聚合的计算操作一般来说Stream可分为三个部分:源source、中间操作Intermediate和终止操作Terminal。每一个流只能被使用一次(即调用中间操作或者终止操作)流的实际执行流程是这样的,在遇到中间操作的时候,其实只是构建了一个Pipeline对象,而该对象...

2018-12-11 11:41:09 632

原创 ActiveMQ安全设置

1、修改登录密码activemq的web管理界面:http://127.0.0.1:8161/adminActiveMQ管控台使用jetty部署,需要修改密码则修改对应的配置文件conf/jetty-realm.properties2、消息安全机制只有符合认证的用户才能进行发送和获取消息conf/confactivemq.xml添加安全验证&lt;!--MQ安全验证配置--&gt; ...

2018-12-11 10:18:54 139

原创 mysql区间统计函数

INTERVAL(N,N1,N2,N3,…)INTERVAL()函数进行比较列表(N1,N2,N3等等)中的N值。该函数如果N&amp;lt;N1返回0,如果N&amp;lt;N2返回1,如果N&amp;lt;N3返回2 等等。如果N为NULL,它将返回-1。列表值必须是N1&amp;lt;N2&amp;lt;N3的形式才能正常工作。mysql&amp;gt; select INTERVAL(10,0,5,10,15);+----...

2018-12-04 17:17:30 6029

转载 linux centos 7 安装tmux

安装 ncurses-develyum -y install ncurses-devel安装 libevent-devyum -y install libevent-devel安装tmux如果系统已经安装有git,则可以直接从github上clone tmux的源码进行安装,具体操作步骤如下3.1. 获取tmux 的源码git clone https://github.com/t...

2018-12-03 16:04:20 1376

原创 【Spring-boot】运行环境获取

一、类级别@Profile(“dev”)比如:可以用来控制,swagger只在测试环境使用@Profile({“dev”, “loc”})public class SwaggerConfig {}二、方法级别【Spring-boot】通过ApplicationContextAware获取spring管理对象...

2018-11-30 15:39:38 3497

原创 【Spring-boot】前后端分离跨域以及session问题

一、后端@Configurationpublic class CorsConfig { @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurer() { @Override //重写父类提供的跨域请求处理的接口 ...

2018-11-28 15:07:00 4796 1

原创 Java启动常用参数

-Duser.timezone=Asia/Shanghai启动设置时区用于:服务器时间正确,打印日志时间有问题-DskipTests跳过测试用于:mvn编译-Dfile.encoding=UTF-8编码格式用于:解决乱码问题...

2018-11-28 15:00:44 321

原创 【Spring-boot】通过ApplicationContextAware获取spring管理对象

用途1,在filter中使用servcie代码@Componentpublic class SpringUtils implements ApplicationContextAware { private static ApplicationContext applicationContext; @Override public void setApp...

2018-11-27 09:58:36 5118

原创 【Spring-boot】使用filter对request body参数进行校验

@Slf4jpublic class ParameterCheckServletRequestWrapper extends HttpServletRequestWrapper { private byte[] requestBody; private Charset charSet; public ParameterCheckServletRequestWrap...

2018-11-02 12:01:50 8801 4

原创 【数据结构与算法】栈

一、特点:LIFO, (Last In First Out)二、基本操作:push(入栈)pop(出栈)三、可以用数组实现四、Java实现java.util.Stack继承java.util.Vector(向量)由于以下原因已不推荐使用1 . 使用synchronized关键字影响效率2 . 使用继承Vector 类的实现和 ArrayList 比较接近,都是基于数组及扩...

2018-09-28 11:51:13 920

原创 MarkDown中数学公式书写方法

在Markdown中插入数学公式的语法是$数学公式$和$$数学公式$$。行内公式是可以让公式在文中与文字或其他东西混编,不独占一行。独立公式使公式单独占一行,不与文中其他文字等混编。使用^来表示上标,_来表示下标,同时如果上下标的内容多于一个字符,可以使用{}来将这些内容括起来当做一个整体。与此同时,上下标是可以嵌套的。参考:1,http://jzqt.github.io/...

2018-09-27 15:03:37 3807

原创 【数据结构与算法】算法

一、算法定义算法(algorithm),在数学(算学)和电脑科学之中,为任何良定义的具体计算步骤的一个序列[1],常用于计算、数据处理(英语:Data processing)和自动推理。精确而言,算法是一个表示为有限长[2]列表的有效方法(英语:Effective method)。算法应包含清晰定义的指令[3]用于计算函数[4]。算法中的指令描述的是一个计算,当其执行(英语:Executio...

2018-09-27 14:59:21 217

原创 使用KeyHolder 获取Spring JdbcTemplate插入记录ID

使用Spring JdbcTemplate插入数据之后,如果需要获取插入之后的ID,代码如下: public NamedParameterJdbcTemplate namedParameterJdbcTemplate; public void insert(){ String insertSql = &quot;insert into user(name,a...

2018-09-27 09:41:10 5260

原创 Java中参数传递——值传递(拷贝)

Java中参数传递实际上是值传递(拷贝)参数分为两种:基本数据类型、引用类型比如方法M调用方法N,参数为x,则:如果x是基本类型,则会把x的值拷贝一份放入N方法实例的栈中。此时,方法N改变参数x的值,M中的x不受影响。如果x是引用类型,则会把x的引用拷贝一份(x’)放入N方法实例的栈中。此时,方法N可以通过引用x’改变x的值。因为引用x和引用x’都是指向同一个对象。...

2018-09-26 11:45:06 1734

Java打印API-用户手册-中文

Java打印API_用户手册_中文

2024-01-19

Java程序员面试宝典

Java程序员面试宝典.

2018-09-27

深入Java虚拟机(原书第二版清晰版)

本书作者曾因本书荣获专业技术杂志《Java Report》评选的优秀作者奖,细心的读者可以从网上找到许多对本书第1版的赞誉。作者以易于理解的方式深入揭示了Java虚拟机的内部工作原理,深入理解这些内容,将对读者更快速地编写更高效的程序大有裨益! 本书共分20章,第1-4章解释了Java虚拟机的体系结构,包括Java栈、堆、方法区、执行引擎等;第5-20章深入描述了Java技术的内部细节,包括垃圾收集、Java安全模型、Java的连接模型和动态扩展机制、class文件、运算及流程控制等等,其中第6章和附录A-C安全可以作为class文件和指令集的参考手册。本书还附带光盘,光盘中包含用以辅助说明正文内容的交互式例示applet及示例源代码。

2018-07-27

jmeter websocket依赖包

jmeter websocket依赖包。直接把所有jar包拷贝到jmeter文件夹的lib/ext下,重启jmeter即可。

2018-06-05

luyten-0.4.4

个人用过的最好用的java反编译工具。使用jd-gui反编译时会出现“// INTERNAL ERROR //” 错误,无法反编译。此工具可以完美解决。

2015-06-03

openexplorer.jar

EasyExplorer是一个类似于 Windows Explorer的Eclipse插件,它可以帮助你在不退出Eclipse的环境下浏览本地文件系统。但是它只支持3.x的Eclipse。 openexplorer是一个与EasyExplorer类似的工具,经测试可以支持4.x的Eclipse 使用方法: 下载的jar包放到eclipse的plugin目录下,重启eclipse即可。

2014-12-12

IE Javascript leaks detector

As described in detail in this MSDN article, the JScript garbage collector in previous versions of Internet Explorer manages the lifetime of JScript objects but not of DOM objects. As a result, the JScript garbage collector cannot break circular references between DOM objects and JScript objects, and memory leaks may occur

2014-01-07

sIEve-0.0.8

IE Sieve 主要用来检测 JavaScript 编程中,IE 运行时,内存的泄露情况。

2014-01-07

JQuery_1.4_API.CHM

jQuery开发中文帮助文档,全面细致。 利用javascript开发网页的利器

2013-11-07

空空如也

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

TA关注的人

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