- 博客(21)
- 收藏
- 关注
原创 JVM GC 算法和相关GC收集器
GC(Garbage Collection),指的是垃圾收集,本文主要介绍了JVM中GC的一些算法以及相关GC收集器。 本文主要介绍了如下三个方面:如何确定内存中的对象是‘‘垃圾’’ GC回收算法 GC收集器本文相关虚拟机为HotSpot虚拟机一、如何确定内存中的对象是‘‘垃圾’’ 判断对象是否为‘‘垃圾’’,即判断对象是否存活,通常来讲,主要有两种办法:...
2018-04-23 23:09:00 379
原创 Spring启动过程(二)
上一篇说到的ioc容器的refresh()方法,是整个容器启动的最核心方法,在这个refresh()方法中,会完成资源文件的加载、配置文件解析、Bean定义的注册、组件的初始化等核心工作。 让我们来look look 这个refresh()方法到底干了啥事情~~~ 惯例先贴源码,先看下refresh()方法的说明。refresh()方法是ConfigurableA...
2018-04-10 23:01:00 324
原创 Spring启动过程(一)
Spring的启动过程,就是其IoC容器的启动过程,本质就是创建和初始化bean的工厂(BeanFactory),BeanFactory其实就是整个SpringIoc的核心,Spring 使用 BeanFactory 来实例化、配置和管理 Bean。 对于web程序,IoC容器启动过程即是建立上下文的过程,在web应用中,web容器会提供一个全局的ServletContex...
2018-04-08 18:48:00 933
原创 关于同步异步,阻塞非阻塞的理解
关于同步异步,阻塞非阻塞,一直有困惑,大致了解整理一下,如有错误,请指正谢谢!同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别? 一、同步异步同步和异步,关注的是消息通信机制,主要针对Client端同步:client执行一个操作后,需要等待结果返回...
2018-03-14 15:51:00 195
原创 mac 卸载node和npm
系统升级到 Sierra 之后,npm 经常出问题,最终把 node 卸载了,安装了新版本。mac 卸载 node 比较麻烦,stackoverflow 上面找到一个方法还不错,特地记录下来,代码如下: 首先运行脚本 lsbom-f-l-s-pf /var/db/receipts...
2017-10-09 10:26:00 725
原创 SpringBoot使用 maven autoConfig插件打jar包(一)
AutoConfig介绍 AutoConfig,主要用于 Maven 项目打包使用。在项目中,我们会将自己写的代码打成 jar 包或者 war 包发布到各种环境上。正常情况下,不用的环境所使用的数据库、缓存的配置是不同的。因此引入了autoConfig插件,在项目打包的时候的动态选择打包配置文件,同时由于相关配置文件非git/svn版本管理,避免了误操作修改了配置value导致错误的风险...
2017-09-29 17:40:00 1586
原创 SpringBoot自定义配置文件读取
SpringBoot的配置文件默认在resources下的application.yml或properties中,通常都会把相关配置写入到这个文件中,但是为了不破坏核心文件的原生态,但又需要有自定义的配置信息存在,一般情况下会选择自定义配置文件来放这些自定义信息,下面介绍了在srpin...
2017-09-08 15:43:00 176
原创 AutoConfig工具使用指南
第13章AutoConfig工具使用指南 13.1.需求分析 13.1.1.解决方案 13.2.AutoConfig的设计 13.2.1.角色与职责 13.2.2.分享二进制目标文件 13.2.3.部署二进制目标文件 13.2.4.AutoConfig特性列...
2017-08-31 14:29:00 467
原创 ReentrantReadWriteLock锁的使用
1.什么是ReentrantReadWriteLock ReentrantReadWriteLock是jdk提供的一个可重入的读写锁,功能与synchronized类似 什么叫可重入:就是同一个线程可以重复加锁,可以对同一个锁加多次,每次释放的时候回释放一次,直到该线程加锁次数为0,这个线程才释放锁。 什么叫读写锁: 也就是读锁可以共享,多个线程可以同时拥有读锁,但是...
2017-08-08 17:00:00 790
原创 mac安装redis可视化客户端
打开终端,输入如下命令:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null ; brew install caskroom/cask/brew-cask 2> /dev/null如果提...
2017-06-23 16:30:00 551 1
原创 Mac 安装配置抓包工具Charles
本文主要介绍mac下如何安装网络抓包工具以及如何实现抓包。在windows下有一款不错的抓包工具Fidder,但是由于是C#编写的,无法再mac下运行,因此,需要换一款抓包软件:Charles。 Charles是一款Java语言编写的抓包工具,因此可以跨平台使用,可以在win/linux下使用,java编写的当然需要安装jdk了。同时还有一个问题,就是收费的,50美刀,折合...
2017-04-17 23:31:00 470 1
原创 centos7 安装 redis3.2.8
一、下载redis稳定版 Redis 版本号采用标准惯例:主版本号.副版本号.补丁级别,一个副版本号就标记为一个标准发行版本,例如 1.2,2.0,2.2,2.4,2.6,2.8,奇数的副版本号用来表示非标准版本,例如2.9.x发行版本是Redis 3.0标准版本的非标准发行版本。 在本文中下载redis目前的稳定版3.2.8 wge...
2017-03-01 00:00:00 229
原创 CentOS卸载系统自带的OpenJDK并安装Sun的JDK的方法
一、查看centos7中的jdk版本二、输入命令卸载 rpm -e --nodeps + 系统中的jdk版本号,如下: rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64 rpm -e --nodeps java-1.7.0-openjdk-1.7.0.75-...
2017-02-27 23:32:00 218
原创 mysql 5.6 rpm安装
由于测试环境os突然挂了....需要重新安装mysql服务,大致总结了下在linux下安装mysql5.6的基本步骤: 1. wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm 2. rpm -i...
2017-01-19 16:50:00 146
原创 play framework 处理统一异常
play framework 1.2.x 处理全局异常 采用@Catch标签,在处理统一异常的方法上添加此标签,用于捕获程序抛出的异常 如果有Action方法抛出了异常,那么使用@Catch注解的方法就会执行,且抛出的异常会以参数的形式传递到@Catch注解的方法中。 ...
2017-01-19 16:39:00 378
原创 Java.util.Date 与 Java.sql.Date
Java.util.Date 是 Java.sql.Date的父类,通常我们在java中使用date类型都会使用Java.util.Date两者本质上都是时间戳,只是util.Date包括了时分秒。sql.Date不包括时分秒,但它把当前的时间剪掉了,保证sql.Date一定是那个日期的0点0分0秒的时间戳所以 new java.util.Date()会得到当前时间 ...
2017-01-06 17:49:00 277
原创 Nginx 静态资源转发配置
1.修改nginx.conf配置文件user nobody;# 工作进程的属主worker_processes 4;#推荐worker数为cpu核数,避免cpu不必要的上下文切换error_log /usr/local/nginx/logs/error.log;#error_log /usr/local/nginx/logs/error.log notice;#...
2016-09-29 17:56:00 3545
原创 CentOS7.0 安装 Nginx1.10.1 tar.gz方式
一.安装准备首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以执行如下命令安装yum install gcc-c++ yum install pcre pcre-devel yum install zlib zlib-de...
2016-09-26 17:44:00 371
原创 java多线程(一)
一、Java线程 线程:线程是指进程内的一个执行单元,也是进程内的可调度实体. 表示程序执行的基本流程,cpu执行的基本单位 进程:进程是一个具有独立功能的程序关于某个数据集合的一次运行活动 在一个进程中可以包含若干个线程二、线程的生命周期(状态) * java中的线程状态:创建,就绪,运行,阻塞,死亡 ...
2016-07-26 13:15:00 200
原创 Ubuntu 15 安装mysql5.5.48 tar.gz包详解
下载mysql1.下载:在http://dev.mysql.com/downloads/mysql/官网上下载mysql-5.5.48-linux2.6-i686.tar.gz.2.解压tar -xvf mysql-5.5.48-linux2.6-i686.tar.gz3.移动到/usr/local/mysqlmv mysql-5.5.48-linux2.6-i686 /u...
2016-03-11 16:43:00 405 1
原创 tomacat7开启单向https配置后相关事项(windows)
打开web应用的web.xml文件,在最后加上这样一段 <security-constraint> <web-resource-collection> <web-resource-name>Protected Context</web-resource-name> <url-pa...
2016-03-10 22:57:00 190
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人