自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

u011851478的博客

一个半路出家的Coder~

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

原创 搭建私有sentry

sentry是一个可以将报错信息监控并集中查看,提醒的工具。准备环境ubuntudockerdocker-composesudo apt install curlcurl -fsSL get.docker.com -o get-docker.shsudo sh get-docker.sh --mirror Aliyun检查是否安装完成:docker --version...

2019-06-08 11:36:26 605 1

原创 Maven学习笔记(4) --- 聚合和继承

最近重新读了一下《Maven实战》,记录一下一直被我忽略的聚合和继承的关系。聚合首先,一个模块有一个pom(Project object Model)文件。当一个项目比较大的时候,按一定规则划分成不同的模块是一个比较好的方式。这时候管理一个项目,如果每个模块座位一个项目,那么打包编译的时候需要到每一个模块下去执行mvn命令,太麻烦了。于是,有个继承模块。继承模块是一个空模块,只有pom文件,...

2018-11-27 11:42:01 224

原创 Java中的异常

Java异常分类所有异常的根类为java.lang.Throwable,Throwable下面又派生了两个子类:ErrorExceptionErrorError表示应用程序本身无法克服和恢复的一种严重问题,程序只有死的份了。例如,内存溢出和线程死锁等系统问题。ExceptionException表示程序还能够克服和恢复的问题,其中又分为2类系统异常:是软件本身缺...

2018-09-12 19:53:21 261

原创 JDK默认使用的垃圾回收器

查看方法 java -XX:+PrintCommandLineFlags -version 引用《深入理解Java虚拟机:JVM高级特性与最佳实践》的介绍: 所以,jdk8环境下,默认使用 Parallel Scavenge(新生代)+ Serial Old(老年代)-XX:+PrintCommandLineFlagsjvm参数可查看默认设置收集器类型-XX:+Pr...

2018-09-10 16:01:09 11704 5

转载 java并发编程--Executor框架

摘要: Eexecutor作为灵活且强大的异步执行框架,其支持多种不同类型的任务执行策略,提供了一种标准的方法将任务的提交过程和执行过程解耦开发,基于生产者-消费者模式,其提交任务的线程相当于生产者,执行任务的线程相当于消费者,并用Runnable来表示任务,Executor的实现还提供了对生命周期的支持,以及统计信息收集,应用程序管理机制和性能监视等机制。Exexctor简介E...

2018-08-25 20:47:44 243

原创 Spring事务传播属性和隔离级别

事务的传播属性(Propagation)@Transactional(propagation=Propagation.REQUIRED):这个是默认的属性。如果存在一个事务,则支持当前事务。如果没有事务则开启一个新的事务。被设置成这个级别时,会为每一个被调用的方法创建一个逻辑事务域。如果前面的方法已经创建了事务,那么后面的方法支持当前的事务,如果当前没有事务会重新建立事务。@Transac...

2018-08-10 22:53:37 188

原创 Java IO 总结

IO的分类BIO(Blocking I/O):同步阻塞IO以电脑为中心,InputStream(Reader)就是将外部数据以流的形式加载到电脑的内存中,OutputStream(Writer)就是把内存中的数据以流的形式向外输出。字节流:以xxStream命名,一般成对出现,如InputStream,OutputStream常见的字节流: * 文件流:FileInput...

2018-08-10 22:51:19 150

原创 JDK8和JDK9双版本共存

摘要: 原创出处 https://peijie-sh.github.io 欢迎转载,保留摘要,谢谢!以前安装JDK,需要手动配置环境变量。JDK8多了自动配置环境变量,所以可以不用手动配置。 如果我已经装了JDK8,还想再装一个JDK9,安装完,自动配置的环境变量会指向JDK9版本。解决方法删除自动配置的环境变量 自动配置的环境变量是一个隐藏目录:C:\Program...

2018-08-10 22:38:13 5464 1

转载 集合迭代时对集合进行修改抛ConcurrentModificationException原因的深究以及解决方案

大家应该都知道, 在java中, 在对一些集合迭代的过程中对集合进行一些修改的操作, 比如说add,remove之类的操作, 搞不好就会抛ConcurrentModificationException, 这一点在API文档上也有说的! 在迭代时只可以用迭代器进行删除! 但是文档上只是说了删除, 其他操作也会引起ConcurrentModificationException, 这是为何呢...

2018-08-10 22:09:48 290

原创 理解JVM(七):垃圾回收器

一些概念并行(Parallel)指多条垃圾收集线程并行工作,但此时用户线程仍然处于等待状态。并发(Concurrent)指用户线程与垃圾收集线程同时执行(但不一定是并行的,可能会交替执行),用户程序在继续运行,而垃圾收集程序运行于另一个CPU上。吞吐量CPU用于运行用户代码的时间与CPU总消耗时间的比值,即吞吐量=运行用户代码时间/(运行用户代码时间+垃圾收集时...

2018-08-01 11:39:22 129

原创 理解JVM(六):线程安全和锁优化

线程安全的实现方法互斥同步互斥是因,同步是果;互斥是方法,同步是目的。synchronized关键字synchronized关键字是基本的互斥同步手段。它在编译后会在同步代码块前后加入2条字节码指令:monitorenter和monitorexit这两个字节码都需要一个reference类型的参数来指明要锁定和解锁的对象。如果Java程序中的synchronized指定...

2018-08-01 11:38:54 171

原创 理解JVM(五):Java内存模型与线程

Java内存模型JMM(Java Memory Model)是JVM定义的内存模型,用来屏蔽各种硬件和操作系统的内存访问差异。 * 主内存:所有的变量都存储在主内存(Main Memory,类比物理内存)中。 * 工作内存:每条线程有自己的工作内存(Working Memory,类比处理器高速缓存),线程的工作内存中保存了被该线程使用到的变量的主内存副本拷贝,线程对变量的所有操作(读取、赋...

2018-08-01 11:37:33 400

原创 理解JVM(四):JVM类加载机制

Class文件我们写的Java代码,经过编译器编译之后,就成为了.class文件,从本地机器码变成了字节码。Class文件是一组以8位字节为基础单位的二进制流,各个数据项目严格按照顺序紧凑地排列在Class文件之中,中间没有添加任何分隔符,这使得整个Class文件中存储的内容几乎全部是程序运行的必要数据,没有空隙存在。Class文件中只有2种数据结构:无符号数和表。每个Class文件的头4...

2018-08-01 11:36:57 170

原创 理解JVM(三):JVM命令工具

jps(JVM Process Status Tool)虚拟机进程状况工具,可以列出正在运行的虚拟机进程,并显示虚拟机执行主类(MainClass,main()函数所在的类)名称以及这些进程的本地虚拟机唯一ID(Local Virtual Machine Identifier,LVMID)。命令格式:jps[options][hostid]参数: -q:只输出LVMID,省略主类名称...

2018-08-01 11:36:24 127

原创 理解JVM(二):垃圾收集算法

判断哪些对象需要被回收引用计数算法: 给对象中添加一个引用计数器,每当有一个地方引用时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为0的对象就是不可能再被使用的。 但是JVM没有使用此方法,因为此方法无法解决2个对象相互循环引用的问题。可达性分析算法: 这个算法的基本思路就是通过一系列的称为“GC Roots”的对象作为起始点,从这些节点开始向下搜索,搜索所走过的路...

2018-08-01 11:35:51 142

原创 Spring的事件机制

当把一个事件发布到Spring提供的ApplicationContext中,被监听器侦测到,就会执行对应的处理方法。事件本身事件是一个自定义的类,需要继承Spring提供的ApplicationEvent。@Datapublic class MyEvent extends ApplicationEvent { private String msg; publ...

2018-08-01 11:35:00 209

原创 TCP的3次握手和4次挥手过程

建立连接(3次握手)SYN是标志位,设置SYN=1,表示请求建立连接服务端会同时和多个客户端建立连接,所以在报文交互时,需要带上序号seq,在响应是seq+1,以此来检测报文合法性连接过程客户端:我想建立一个连接。状态:CLOSED -> SYN SENT服务端:可以,我同意建立连接。状态:LISTEN -> SYN RCVD客户端:好的,我收到你的确认...

2018-08-01 11:33:53 187

原创 搭建日志分析系统ELK

摘要: 原创出处 http://peijie2016.oschina.io 欢迎转载,保留摘要,谢谢!日志分析组件3件套:E:Elasticsearch是一个搜索引擎,基于Lucene,天然分布式,很容易水平扩展,屏蔽了复杂的分布式概念,对外提供RESTfulAPI。L:Logstash用于收集日志,写入Elasticsearch。K:Kibana是一个展示层,基于NodeJS,可以图标形式

2017-08-18 15:21:44 507

原创 Java8学习笔记之新日期API

摘要: 原创出处 http://peijie2016.oschina.io 欢迎转载,保留摘要,谢谢!Java8对日期API做了改进,提供了许多好用的方法和接口。 首先,最基本也最重要的3个对象: - LocalDate:日期对象 - LocalTime:时间对象 - LocalDateTime:日期时间对象,是LocalDate和LocalTime的合集对象的创建以上这3个对象,都各自有

2017-05-08 17:23:37 438

原创 Java8学习笔记之Stream API

摘要: 原创出处 http://peijie2016.oschina.io 欢迎转载,保留摘要,谢谢!Stream是Java8引入的一个重度使用lambda表达式的API。 Stream可以用流的方式处理数据集合,在Java8之前,我们处理这些集合,是需要迭代器的,比如iterator,这是外部迭代;而Stream是内部迭代,我们不用关心集合内部元素是如何迭代的,计算机会自动帮我们选择最适合的实

2017-04-26 13:28:21 1138

原创 Java8学习笔记之Lambda表达式

摘要: 原创出处 http://peijie2016.oschina.io 欢迎转载,保留摘要,谢谢! 使用Lambda表达式,我们可以很简洁地传递代码(通常是匿名函数)。结构Lambda表达式主要分为三部分:参数列表,箭头,Lambda 主体语法(parameters) -> expression(parameters) -> { statements; }如果表达式只有一行,用第一种,

2017-04-19 16:48:01 473

原创 Java8学习笔记之行为参数化

摘要: 原创出处 http://peijie2016.oschina.io 欢迎转载,保留摘要,谢谢!用一个例子说明行为参数化带来的变化 - 从苹果仓库中筛选苹果版本1从一个苹果集合中选出绿的苹果public static List<Apple> filterGreenApples(List<Apple> inventory) { List<Apple> result = new

2017-04-19 14:11:59 513

原创 HTML转图片利器:wkhtmltox

摘要: 原创出处 http://peijie2016.oschina.io 欢迎转载,保留摘要,谢谢!关于wkhtmltox,是一个可以把HTML转换为图片和pdf的工具。不多介绍了,详见官网 https://wkhtmltopdf.org/安装步骤下载下来是tar.xz文件,首先解压: tar -vxf wkhtmltox-0.12.4_linux-generic-amd64.tar.xz

2017-04-19 14:11:09 12508

原创 SpringBoot中使用Redis实现缓存

摘要: 原创出处 http://peijie2016.oschina.io 欢迎转载,保留摘要,谢谢!Spring Data Redis为我们封装了Redis客户端的各种操作,简化使用。 - 当Redis当做数据库或者消息队列来操作时,我们一般使用RedisTemplate来操作 - 当Redis作为缓存使用时,我们可以将它作为Spring Cache的实现,直接通过注解使用关于RedisTe

2017-04-19 14:09:32 12533

原创 手动安装redis-3.2.8的详细步骤

摘要: 原创出处 http://peijie2016.oschina.io 欢迎转载,保留摘要,谢谢!CentOS6.7使用yum安装有时候没有比较新的版本,所以手动安装,下面记录一下步骤。下载最新版本以3.2.8为例,附上地址:redis-3.2.8.tar.gz解压,编译,安装redis解压:tar -zxvf redis-3.2.8.tar.gz进入目录:cd redis-3.2.8编

2017-04-19 14:08:06 2861

原创 谈谈Java中的代理

代理是Java常用的设计模式,代理类通过调用被代理类的相关方法,实现对相关方法增强。比如加入事务、日志、报警发邮件等操作。静态代理静态代理,就是由程序员手动编写代理类或者用工具生成代理类的代码,再进行编译生成class文件,实现代理。比如简单工厂模式。用法:代理类和目标类都实现相同接口。代理类持有目标类的引用。缺点: 静态代理要为每个目标类创建一个代理类,当需要代理的对象太多,那么代理类也变

2017-02-17 15:38:28 402

原创 理解JVM(一):内存结构

在JVM中,内存主要被分为5类堆Heap存放关键字new创建的对象和数组。堆内存被所有线程共享。这块内存区由JVM(Java虚拟机)自己管理。当使用new创建对象时,不必指定分配空间的大小,JVM会动态自动分配一块区域;当程序执行过程中,指向此对象的引用消失,此对象就被标记为可被回收状态,将由GC(垃圾回收器)在一个不确定的时间自动回收,释放所占的内存空间。虚拟机栈VM Stack存放8种

2017-02-16 15:27:20 376

原创 Spring MVC 统一异常处理总结

在一个Spring MVC项目中,使用统一异常处理,可以使维护代码变得容易。下面总结一下常用的3种方法。实现HandlerExceptionResolver接口实现HandlerExceptionResolver接口,实现resolveException()方法,根据传入的异常类型做出处理。继承AbstractHandlerExceptionResolver类继承AbstractHandlerExc

2017-02-15 16:10:00 3167

原创 Spring Task定时任务的配置和使用

记录下Spring自带的定时任务用法。spring中使用定时任务基于xml配置文件使用定时任务首先配置spring开启定时任务<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="htt

2017-02-15 11:35:08 532

原创 使用Spring Boot Actuator监控应用

Actuator是Spring Boot提供的对应用系统的自省和监控的集成功能,可以对应用系统进行配置查看、相关功能统计等。使用Actuator引入依赖即可Maven:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifa

2017-02-13 12:08:07 21546 1

原创 用SpringMVC搭建web应用

在使用SpringMVC时,最重要的2个类就是DispatcherServlet和ContextLoaderListener。DispatcherServlet加载包含Web组件的bean,如控制器、视图解析器以及处理器映射,ContextLoaderListener加载应用中的其他bean(通常是驱动应用后端的中间层和数据层组件)。Servlet 3.0之后servlet3.0规范出来后,spri

2016-12-14 11:14:02 450

原创 解决Linux下DNS配置重启失效问题

有时候能ping同ip地址,却ping不通域名,这就是dns没有配置的缘故。 但是DNS配置文件 /etc/resolv.conf 每次重启就会失效。 打开这个配置文件,发现有注释提示: Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)# DO NOT EDIT THIS FILE BY

2016-12-02 11:59:13 18571 1

原创 Linux虚拟机设置静态IP

照着网上的方法试了,总有几个步骤不对,反复试了几次,终于成功了,做下笔记。环境我是win7系统(这个无所谓),本地VMWare装了Ubuntu 16.04 LTS 64位虚拟机。想在win7用xshell操作本地虚拟机。设置方法配置VMware网络环境VMware在默认安装完成之后,会创建三个虚拟的网络环境: * VMnet0 :桥接网络 * VMnet1 :Host-only * VMne

2016-11-15 11:10:11 745

原创 Redis入门

Redis官方不支持windows系统,所以我将redis装在linux下。 我用的Ubuntu 16 64位系统。安装Redis sudo apt-get install redis-server 非常方便,一句话搞定。配置Redis由于要远程连接Redis,所以要修改Redis的默认配置文件。 修改/etc/redis/redis.conf,把bind 127.0.0.1注释掉即

2016-11-11 14:25:44 275

原创 HTTP协议学习笔记(1) --- 基本介绍

HTTP基本概念HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。HTTP是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP是一个无状态的协议。在TCP/IP协议栈中的位置HTTP协议通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候,就成了我们常说的HTTPS。如下图所示: 默认HTTP的端口号为80

2016-11-08 14:45:47 264

原创 使用Hexo搭建个人博客

最近闲着没事,用hexo搭建了一个个人博客,部署在github上,欢迎大家来我博客踩踩~ ^_^ 传送门 下面总结一下搭建过程:环境搭建hexo是一个简单地、轻量地、基于Node的一个静态博客框架,可以方便的生成静态网页托管在github和Heroku上 引用Hexo作者 @tommy351 的话: 快速、简单且功能强大的 Node.js 博客框架。A fast, simple & pow

2016-10-27 17:30:11 1529 1

转载 NEXTVAL 和 CURRVAL 运算符和oracle的sequence设置说明

在oracle中sequence就是所谓的序列号,每次取的时候它会自动增加,一般用在需要按序列号排序的地方。  1、Create Sequence  你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE权限,  CREATE SEQUENCE emp_sequence  INCREMENT BY 1  -- 每次加几个  START

2016-09-26 20:58:58 1404 1

转载 Apache POI 操作Excel

原文地址:http://www.journaldev.com/2562/java-readwrite-excel-file-using-apache-poi-api.有时候我们需要从Excel文件中读取数据,或者我们为了商务或者财政的目的生成Excel格式的报表.Java没有对操作Excel文件提供内在的支持,所以我们需要寻找开源的APIs.当我开始寻找操作Excel的APIs时候,大部分人建议使

2016-08-23 17:25:34 550

转载 Java NIO系列教程(十二) Java NIO与IO

原文地址:http://tutorials.jenkov.com/java-nio/nio-vs-io.html作者:Jakob Jenkov   译者:郭蕾    校对:方腾飞当学习了Java NIO和IO的API后,一个问题马上涌入脑海:我应该何时使用IO,何时使用NIO呢?在本文中,我会尽量清晰地解析Java NIO和IO的差异、它们的使用场景,以及它们如何影响您的代

2016-08-18 16:05:27 235

转载 Java NIO系列教程(十一) Pipe

原文链接     作者:Jakob Jenkov     译者:黄忠       校对:丁一Java NIO 管道是2个线程之间的单向数据连接。Pipe有一个source通道和一个sink通道。数据会被写到sink通道,从source通道读取。这里是Pipe原理的图示:创建管道通过Pipe.open()方法打开管道。例如:Pipe pipe =

2016-08-18 16:04:32 236

servlet3.0-demo

servlet3.0-demo, 上传文件demo,基于注解开发

2017-04-07

instantclient-basic-nt-12

oracle 12c的instant client

2016-10-26

oracle instant client 11 basic

oracle instant client 11 basic,用于远程连接

2016-10-26

springmvcdemo.zip

springmvc重定向传参数

2016-07-10

贪吃蛇 - 游戏

贪吃蛇 - 游戏,使用java实现,基于awt,并已经打成jar包,双击即可运行,源码也在里面。

2016-06-27

MyBatis - CRUD+多表联合查询

MyBatis - CRUD + 多表联合查询 一个简单的demo

2016-06-27

KeilC51Vcngr.zip

单片机开发必备 附带注册机 keilC51系列

2015-05-02

npp_V6.7.7_Installer.1429511245.exe

一个工具,可以很方便的写脚本语言,html,xml,js等,有代码高亮功能

2015-05-02

空空如也

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

TA关注的人

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