胃小的博客

长风破浪会有时 直挂云帆济沧海

代码重构概要

一、重新组织函数 1、提炼函数, 将一段代码放入独立的函数中,函数名称解释用途; 这是最常用的重构手法; 2、内联函数 此方法与提炼函数相反,是将不必要的函数放进调用他的函数中,并将其删除; 3、内联临时变量 将对变量的引用操作,替换为对他赋值的那个表达式自身; 4、以查询取代临时变量 如果程序中...

2018-11-24 18:40:44

阅读数:17

评论数:0

内存泄漏排查

最近生产环境某项目突然崩溃,查看堆栈发现虚拟堆已经满了,查看配置, jmap -heap [pic] 堆内存为2G,理论上应该是够用的,所以怀疑为内存泄漏, 使用 jmap -histo:live [pid] 打印堆中的对象,发现无法打印, 使用 jmap -dump:format=...

2018-10-12 13:54:52

阅读数:34

评论数:0

数据库设计(实用技巧)

id 一般是bigint(12) code 一般是varchar(20) 状态一般用int(1)如果考虑扩展性,可以使用int(11) 日期一般是date 时间一般是time 创建时间和更新时间一般是datetime 能使用int就是用int 因为创建索引的时候效率高 很少使用cha...

2018-10-04 23:40:31

阅读数:19

评论数:0

java多线程协作Exchanger

一、简介    Exchanger是自jdk1.5起开始提供的工具套件,一般用于两个工作线程之间交换数据。在本文中我将采取由浅入深的方式来介绍分析这个工具类。首先我们来看看官方的api文档中的叙述: A synchronization point at which threads can pai...

2018-09-27 15:18:18

阅读数:34

评论数:0

java多线程协作CyclicBarrier

CyclicBarrier 字面意思是循环拦截器, 是java current包下的多线程协作的类, 创建此类必须出入一个 parties 值, 如果拦截的线程数达到 parties 值, 则会释放拦截的锁, 相关线程得以继续执行, 另外创建类对象时也可以在传入一个 Runnable 对象, 表示...

2018-09-27 14:48:42

阅读数:16

评论数:0

java多线程协作Semaphore

Semaphore的意思是信号量, 多线程中使用此类控制并发量, 常用的方法有acquire() 和 release()  Semaphore没有空参构造, 创建对象时必须传入一个permits 值, 代表最大并发数; 当permits = 1 时 ,代表单线程 下面看一个例子 packa...

2018-09-27 13:59:10

阅读数:24

评论数:0

java多线程协作CountDownLatch

CountDownLatch 是current 包下的常用的同步多线程行为的类, 构造中需要输入一个计数值, 当这个值不为零时, 执行 await() 的线程会阻塞, 线程每次执行 countDown() 方法都会是计数值减一; 已多人赛跑为例, 建立多线程模型, 演示CountDownLatc...

2018-09-27 12:02:48

阅读数:28

评论数:0

java多线程类锁与对象锁的研究

静态方法上的同步锁使用的是当前类.class 作为锁对象,实际上是Class对象, 当使用勒种的同步静态方法时会受到类锁的影响,会出现锁的挣用,  public synchronized static void eat() throws Exception 非静态方法上的锁 , 默认使用的是...

2018-09-27 09:37:11

阅读数:17

评论数:0

jackson高级应用 2.9.x

基于jackson 版本 2.9.x jackson转换json xml 依赖的完整的jar  如果需要maven依赖, 可访问: http://mvnrepository.com/ json转换 主要类为objectmapper  对象转json的常用方法为writeValueA...

2018-09-26 20:34:26

阅读数:143

评论数:0

java多线程异常的捕获

在多线程中,如果子线程抛出了异常,在main中并不能捕获到; 看一个例子 package _Executors; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; pub...

2018-09-20 15:20:03

阅读数:17

评论数:0

springboot之整合httpclient

    springboot整合httpclient   pom.xml 配置 <dependency> <groupId>org.apache.httpcomponents&...

2018-09-16 18:38:43

阅读数:206

评论数:0

springboot之整合log4j2

sprongboot使用的默认日志框架是Logback, 本文展示整合 log4j2 的操作; pom配置, 要将默认的logging去掉 , <dependency> <groupId&...

2018-09-16 14:39:51

阅读数:81

评论数:0

HttpClient学习之GET&POST

版本httpclient-4.5.3 引入三个包,  下面展示一个工具类 , 可以实现简单的post与get package _HttpClient; import java.io.IOException; import java.net.URI; import java.util...

2018-09-13 19:55:25

阅读数:22

评论数:0

springboot之整合jackson

springboot默认配置json转换工具就是jackson, 本文介绍自定义各种配置的方法, 废话不多说 直接上代码 配置文件: #jackson #日期格式化 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss #spring.jackson....

2018-09-09 21:34:03

阅读数:994

评论数:0

springboot之整合kakfa

springboot使用的是2.0.0  使用docker快速搭建环境请看上篇  深入学习docker之部署zookeeper与kafka 引入pom依赖 <dependency> <groupId...

2018-09-09 20:19:43

阅读数:81

评论数:1

深入学习docker之部署zookeeper与kafka

使用 wurstmeister 下的zookeeper 与kafka docker pull wurstmeister/kafka docker pull wurstmeister/zookeeper   然后使用启动两个容器 docker run -d --name zookeep...

2018-09-09 18:44:07

阅读数:80

评论数:0

springboot之整合mongodb

使用springboot 2.x版本 首先引入mongo依赖 <dependency> <groupId>org.springframework.boot&lt...

2018-09-03 21:34:40

阅读数:53

评论数:0

springboot之整合redis

使用springboot 2.0版本 引入pom依赖 <dependency> <groupId>org.springframework.boot</group...

2018-09-02 11:51:04

阅读数:19

评论数:0

springboot之jpa高级查询

springboot的jpa可以根据方法名自动解析sql 非常方便, 只需要在 dao接口中定义方法即可; 下面是一个 demo package com.bus365.root.dao; import java.io.Serializable; import java.util.List...

2018-08-13 22:36:55

阅读数:440

评论数:0

springboot之整合jpa

本文展示一个springboot通过jpa查询数据库的例子, springboot版本 1.5.9   首先引入依赖 <dependency> <groupId>org.springframe...

2018-08-12 21:12:45

阅读数:36

评论数:0

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