Keep moving

不与别人比起点,只与别人比终点,把一切抱怨的时间用来学习!

排序:
默认
按更新时间
按访问量

Spring源码深度剖析(一)---ioc容器的初始化

一、Spring IOC容器概述二、IOC容器系列的设计和实现:BeanFactory和ApplicationContext三、IOC容器初始化过程四、容器的其他相关特性的设计和实现----------------------------------------------------------...

2018-04-29 21:45:28

阅读数:98

评论数:0

Netty之I/O模型研究

Netty之I/O模型研究 阻塞I/O模型 我们知道Java中IO流中的模型都是阻塞型的,要想理解阻塞IO就必须清楚地理解什么是阻塞。网上关于介绍阻塞的很多,我 来说一下我自己的理解。 public static void test01() { ...

2018-07-14 12:08:33

阅读数:50

评论数:0

Spring Boot 2.0.2 Date类型总是Long类型毫秒问题

最近遇到一个比较坑爹的问题: 有三种解决思路: 全局在配置文件中添加: spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=GMT+8 在对象日期类型字段添加: @JsonFo...

2018-06-27 10:38:06

阅读数:10

评论数:0

Java NIO之Selector

一、Java NIO 的核心组件 Java NIO的核心组件包括:Channel(通道),Buffer(缓冲区),Selector(选择器),其中Channel和Buffer比较好理解 简单来说 NIO是面向通道和缓冲区的,意思就是:数据总是从通道中读到buffer缓冲区内,或者从buffe...

2018-06-26 14:00:24

阅读数:32

评论数:0

Java NIO 之Channel

定义 用于源节点和目标节点之间的连接。nio中负责缓冲区中数据传输,Channel本地并不存储数据,而是配合缓冲区进行数据传输。你可以把它理解成io中的流。 结构(java.nio.channels.Channel) Channel接口 实现类 FileChannel SocketC...

2018-06-22 23:11:33

阅读数:49

评论数:0

Orace SQL基础-读书笔记

很久之前的笔记,今天整理一下,发出来。 1. 多列分组时: select fk_deptid,gender,count(*) from forp_user group by rollup(fk_deptid,gender) order by fk_deptid 按照部门和性别分组后,...

2018-06-22 21:47:56

阅读数:20

评论数:0

Java NIO之Buffer

缓冲区基础 本质上,缓冲区是就是一个数组。所有的缓冲区都具有四个属性来提供关于其所包含的数组的信息。它们是: 容量(Capacity) 缓冲区能够容纳的数据元素的最大数量。容量在缓冲区创建时被设定,并且永远不能被改变。 上界(Limit) 缓冲区里的数据的总数,代表了当前缓冲区中一共有多少数...

2018-06-22 14:29:19

阅读数:41

评论数:0

SpringBoot整合Redis分析和实现-基于Spring Boot2.0.2版本

背景介绍 公司最近的新项目在进行技术框架升级,基于的Spring Boot的版本是2.0.2,整合Redis数据库。网上基于2.X版本的整个Redis少之又少,中间踩了不少坑,特此把整合过程记录,以供小伙伴们参考。 本文的基于在于会搭建Spring Boot项目的基础上进行的,入门是小白的话,...

2018-06-20 10:50:13

阅读数:556

评论数:2

Java中树形菜单分析和实现

背景概述 最近在搭建基于Spring Boot(2.0.2)种子项目框架时,遇到了树形菜单加载问题。特此把解决的问题方案记录下去,供其他小伙伴参考和日后回顾。 方案分析 方案选择 一次性加载完,返回前台需要的数据结构 点击加载,默认记载根层级的菜单。后续点击那一级菜单加载其下的子...

2018-06-19 16:38:14

阅读数:219

评论数:0

IO流之BufferedWriter和BufferedReader原理研究

BufferedWriter和BufferedReader的定义 BufferedWriter “缓存字符输出流”,内置一个缓存字符数组,每次写入前都会先检查缓存数组,是否已满,满了把缓存数组写入。否则将内容放到缓存数组中去。 newLine()方法 “换行方法” BufferedReade...

2018-06-10 15:14:37

阅读数:48

评论数:0

IO流之FileReader和FileWriter原理研究

FileReader和FileWriter介绍 FileReader “文件字符输入流”,一般用于读取文本形式的文件,也可以用来读取字节形式文件,但是会存在乱码问题。 FileWriter 原理分析 FileReader 构造方法 // 构造器1 // 可以看出其底层...

2018-06-08 11:52:36

阅读数:58

评论数:0

IO流之ZipInputStream和ZipOutputStream的认识及常用使用

ZipInputStream和ZipOutputStream定义 压缩流 在日常中经常会使用到zip或rar这样的压缩文件,更加便利了我们日常文件的传输和使用。当然在java中 也提供了相应的输入输出流来压缩和解压gzip、zip和rar这样的文件。 ZipInputStream “压缩...

2018-06-07 16:52:01

阅读数:129

评论数:0

PowerDesigner中模型设计导出Excel表格

今天项目做设计,客户要看数据设计,需要到处Excel表格。去网上搜索下,把使用总结如下: 已经完成设计的pd设计 打开pd,快捷键Ctrl + Shift + X或者Tools>Exectue Commands > Edit/...

2018-06-05 18:03:44

阅读数:106

评论数:0

Git的日常命令的使用和原理分析

Git的学习 1、 下载安装 下载:官网下载 安装:一路下一步 2、 用户注册和仓库的初始化 查看版本 git –versio –n 用户注册: git config –global user.name “gyoomi” git config –global...

2018-06-04 23:21:54

阅读数:46

评论数:0

IO流之BufferedInputStream和BufferedOutputStream原理研究

BufferedInputStream和BufferedOutputStream介绍 BufferedInputStream 定义 是缓冲输入流,它继承于FilterInputStream。 作用 为需要包装的输入流提供了缓冲功能以及如mark()等其他功能。 实现 实质是通过内部一个...

2018-06-04 20:45:50

阅读数:48

评论数:0

IO流之ByteArrayInputStream和ByteArrayOutputStream原理研究

###ByteArrayOutputStream和ByteArrayInputStream介绍 - 概念 - ByteArrayOutputStream “字节数组输出流”,内部有有一个缓存字节的数组作为缓存区,所有发送到输出流的数据保存在该字节数组缓冲区中。 ...

2018-06-03 22:56:37

阅读数:58

评论数:0

IO流之DataOutputSteam和DataInputSteam原理研究

编码知识预备 ASCII码 1、共计128字符; 2、8bit即单字节字符; 3、最高位前面统一规定为0; 4、例如:65(二进制0100 0001)是A。 非ASCII码 1、什么是非ASCII码? 英语用128个符号编码就够了,但是用来表示其他语言,128个符号是不够的。 ...

2018-06-02 21:37:50

阅读数:85

评论数:2

Java中序列化实现原理研究

1.什么是序列化和反序列化 序列化 是指将Java对象保存为二进制字节码的过程。 反序列化 将二进制字节码重新转成Java对象的过程。 2.为什么序列化 我们知道,一般Java对象的生命周期比Java虚拟机短,而实际的开发中,我们需要 在Jvm停止后能够继续持有对象,这个时候...

2018-05-31 17:25:39

阅读数:95

评论数:0

强转中的趣事

System.out.println((byte)128); System.out.println((byte)-129);这段代码的运行运行结果是:-128127仔细想想还是很有意思的。=======================================...

2018-05-22 10:57:02

阅读数:13

评论数:0

MarkDown常用语法

最近在做笔记的时候,发现MarkDown简直是神器,故搜集了一些常用语法来使用,估计后面都会慢慢转成用它来做笔记。导语:Markdown 是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。一、Markdown 官方文档Markdown 中文版语法说...

2018-05-16 16:24:41

阅读数:81

评论数:0

Java中位运算总结

预备知识: 一、概念讲解 1.原码 数字转为二进制的后表现形式(包括正数和负数) 2.反码 正数的反码和正数的原码相同;负数的反码,是最高位(符号位为1)不变,其他位取反 3.补码 正数的补码和正数的原码和反码相同。负数的补码是反码...

2018-05-15 17:40:30

阅读数:20

评论数:0

Java多线程21:多线程下的其他组件之CyclicBarrier、Callable、Future和FutureTask

转自:http://www.cnblogs.com/xrq730/p/4872722.htmlCyclicBarrier接着讲多线程下的其他组件,第一个要讲的就是CyclicBarrier。CyclicBarrier从字面理解是指循环屏障,它可以协同多个线程,让多个线程在这个屏障前等待,直到所有线...

2018-05-11 15:48:43

阅读数:40

评论数:0

Java多线程20:多线程下的其他组件之CountDownLatch、Semaphore、Exchanger

转自:http://www.cnblogs.com/xrq730/p/4869671.html前言在多线程环境下,JDK给开发者提供了许多的组件供用户使用(主要在java.util.concurrent下),使得用户不需要再去关心在具体场景下要如何写出同时兼顾线程安全性与高效率的代码。之前讲过的线...

2018-05-11 11:46:21

阅读数:19

评论数:0

Java多线程19:定时器Timer

转自:http://www.cnblogs.com/xrq730/p/4856985.html前言定时/计划功能在Java应用的各个领域都使用得非常多,比方说Web层面,可能一个项目要定时采集话单、定时更新某些缓存、定时清理一批不活跃用户等等。定时计划任务功能在Java中主要使用的就是Timer对...

2018-05-11 11:44:52

阅读数:17

评论数:0

Java多线程18:线程池

转自:http://www.cnblogs.com/xrq730/p/4856453.html使用线程池与不使用线程池的差别先来看一下使用线程池与不使用线程池的差别,第一段代码是使用线程池的:public static void main(String[] args) { long sta...

2018-05-11 11:43:43

阅读数:20

评论数:0

Java多线程17:中断机制

转自:http://www.cnblogs.com/xrq730/p/4856361.html概述之前讲解Thread类中方法的时候,interrupt()、interrupted()、isInterrupted()三个方法没有讲得很清楚,只是提了一下。现在把这三个方法同一放到这里来讲,因为这三个...

2018-05-11 11:42:35

阅读数:19

评论数:0

Java多线程16:线程组

转自:http://www.cnblogs.com/xrq730/p/4856072.html线程组可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以有线程,这样的组织结构有点类似于树的形式,如图所示: 线程组的作用是:可以批量管理线程或线程组对象,有效地对线程或线...

2018-05-10 14:17:48

阅读数:7

评论数:0

Java多线程15:Queue、BlockingQueue以及利用BlockingQueue实现生产者/消费者模型

转自:http://www.cnblogs.com/xrq730/p/4855857.htmlQueue是什么队列,是一种数据结构。除了优先级队列和LIFO队列外,队列都是以FIFO(先进先出)的方式对各个元素进行排序的。无论使用哪种排序方式,队列的头都是调用remove()或poll()移除元素...

2018-05-10 14:16:04

阅读数:9

评论数:0

Java多线程14:生产者/消费者模型

转自:http://www.cnblogs.com/xrq730/p/4855663.html什么是生产者/消费者模型一种重要的模型,基于等待/通知机制。生产者/消费者模型描述的是有一块缓冲区作为仓库,生产者可将产品放入仓库,消费者可以从仓库中取出产品,生产者/消费者模型关注的是以下几个点:生产者...

2018-05-10 14:14:59

阅读数:23

评论数:0

Java多线程13:读写锁和两种同步方式的对比

转自:http://www.cnblogs.com/xrq730/p/4855631.html读写锁ReentrantReadWriteLock概述大型网站中很重要的一块内容就是数据的读写,ReentrantLock虽然具有完全互斥排他的效果(即同一时间只有一个线程正在执行lock后面的任务),但...

2018-05-09 16:21:34

阅读数:9

评论数:0

Java多线程12:ReentrantLock中的方法

转自:http://www.cnblogs.com/xrq730/p/4855538.html公平锁与非公平锁ReentrantLock有一个很大的特点,就是可以指定锁是公平锁还是非公平锁,公平锁表示线程获取锁的顺序是按照线程排队的顺序来分配的,而非公平锁就是一种获取锁的抢占机制,是随机获得锁的,...

2018-05-09 16:20:06

阅读数:7

评论数:0

Java多线程11:ReentrantLock的使用和Condition

转自:ReentrantLockReentrantLock,一个可重入的互斥锁,它具有与使用synchronized方法和语句所访问的隐式监视器锁相同的一些基本行为和语义,但功能更强大。 ReentrantLock基本用法先来看一下ReentrantLock的基本用法:public class T...

2018-05-09 16:19:01

阅读数:6

评论数:0

Java多线程10:ThreadLocal的作用及使用

转自:http://www.cnblogs.com/xrq730/p/4854820.htmlThreadLocal的作用从上一篇对于ThreadLocal的分析来看,可以得出结论:ThreadLocal不是用来解决共享对象的多线程访问问题的,通过ThreadLocal的set()方法设置到线程的...

2018-05-09 10:17:59

阅读数:10

评论数:0

Java多线程9:ThreadLocal源码剖析

转自:http://www.cnblogs.com/xrq730/p/4854813.htmlThreadLocal源码剖析ThreadLocal其实比较简单,因为类里就三个public方法:set(T value)、get()、remove()。先剖析源码清楚地知道ThreadLocal是干什么...

2018-05-09 10:16:31

阅读数:6

评论数:0

Java多线程8:wait()和notify()/notifyAll()

轮询线程本身是操作系统中独立的个体,但是线程与线程之间不是独立的个体,因为它们彼此之间要相互通信和协作。想像一个场景,A线程做int型变量i的累加操作,B线程等待i到了10000就打印出i,怎么处理?一个办法就是,B线程while(i == 10000),这样两个线程之间就有了通信,B线程不断通过...

2018-05-09 10:14:50

阅读数:14

评论数:0

Java多线程7:死锁

转自:http://www.cnblogs.com/xrq730/p/4853713.html前言死锁单独写一篇文章是因为这是一个很严重的、必须要引起重视的问题。这不是夸大死锁的风险,尽管锁被持有的时间通常很短,但是作为商业产品的应用程序每天可能要执行数十亿次获取锁->释放锁...

2018-05-08 14:30:04

阅读数:15

评论数:0

Java多线程6:synchronized锁定类方法、volatile关键字及其他

转自:http://www.cnblogs.com/xrq730/p/4853578.html同步静态方法synchronized还可以应用在静态方法上,如果这么写,则代表的是对当前.java文件对应的Class类加锁。看一下例子,注意一下printC()并不是一个静态方法:public clas...

2018-05-08 14:28:59

阅读数:27

评论数:0

Java多线程5:synchronized锁方法块

转自:http://www.cnblogs.com/xrq730/p/4851530.htmlsynchronized同步代码块用关键字synchronized声明方法在某些情况下是有弊端的,比如A线程调用同步方法执行一个较长时间的任务,那么B线程必须等待比较长的时间。这种情况下可以尝试使用syn...

2018-05-08 14:27:49

阅读数:13

评论数:0

Java多线程4:synchronized锁机制

转自:http://www.cnblogs.com/xrq730/p/4851350.html脏读一个常见的概念。在多线程中,难免会出现在多个线程中对同一个对象的实例变量进行并发访问的情况,如果不做正确的同步处理,那么产生的后果就是"脏读",也就是取到的数据其实...

2018-05-07 18:02:15

阅读数:12

评论数:0

Java多线程3:Thread中的静态方法

转自:http://www.cnblogs.com/xrq730/p/4851344.htmlThread类中的静态方法Thread类中的静态方法表示操作的线程是"正在执行静态方法所在的代码块的线程"。为什么Thread类中要有静态方法,这样就能对CPU当前正在...

2018-05-07 18:00:58

阅读数:10

评论数:0

Java多线程2:Thread中的实例方法

转自:http://www.cnblogs.com/xrq730/p/4851233.htmlThread类中的方法调用方式:学习Thread类中的方法是学习多线程的第一步。在学习多线程之前特别提出一点,调用Thread中的方法的时候,在线程类中,有两种方式,一定要理解这两种方式的区别:1、thi...

2018-05-07 17:59:52

阅读数:10

评论数:0

Java多线程1:进程和线程概述

转自:http://www.cnblogs.com/xrq730/p/4850883.html进程和线程谈到多线程,就得先讲进程和线程的概念。进程进程可以理解为受操作系统管理的基本运行单元。360浏览器是一个进程、WPS也是一个进程,正在操作系统中运行的".exe&quo...

2018-05-07 17:58:07

阅读数:10

评论数:0

Case When和聚合函数count、sum的使用

需求:根据贫困标志,取出不同标准下的的人数有多少,以区县位单位。1代表已脱贫人口;2代表返贫人口;3代表未脱贫select t3.region_id as 'regionId', t3.region_name as 'regionName', count(case when t1.tricolo...

2018-05-03 09:59:56

阅读数:182

评论数:0

Java8中LocalDate的使用---项目中日期处理

// 获取当前日期 LocalDate now = LocalDate.now(); // 设置日期 LocalDate now2 = LocalDate.of(2099, 2, 28); // 解析日期,格式必须是yyyy-MM-d...

2018-04-26 11:10:14

阅读数:29

评论数:0

阿里巴巴java开发手册下载分享

https://pan.baidu.com/s/1oKO3G8w-7wyYVshN5M2vSQ 希望大家代码越来越规范,做一名诗一样程序员。

2018-04-19 17:33:54

阅读数:12

评论数:0

程序设计的六大原则-带图

关于设计模式的六大设计原则的资料网上很多,但是很多地方解释地都太过于笼统化,我也找了很多资料来看,发现CSDN上有几篇关于设计模式的六大原则讲述的比较通俗易懂,因此转载过来。   原作者博客链接:http://blog.csdn.net/LoveLion/article/category/7...

2018-04-19 16:38:45

阅读数:166

评论数:0

Java中高精度计算的实现(bigDecimal类)

java中默认的计算是不支持很精确的小数位运算,但是使用bigDecimal类的方法可以解决此问题。下面是我在项目中封装的一个工具类。供大家参考 /** * 高精度计算工具类 * * @author Leon * @version 2018/4/18 11:56 */ public...

2018-04-18 18:00:14

阅读数:14

评论数:0

MySQL(5.0)和Oracle(11g)中char类型区别(踩坑过)

1:mysql中charCHAR数据类型是MySQL中固定长度的字符类型。 我们经常声明CHAR类型,其长度指定要存储的最大字符数。 例如,CHAR(20)最多可以容纳20个字符。如果要存储的数据是固定大小,则应使用CHAR数据类型。在这种情况下,与VARCHAR相比,您将获得更好的性能。CHAR...

2018-04-17 15:08:17

阅读数:6

评论数:0

MySQL中大小写区分问题

MySQL在Linux下数据库名、表名、列名、别名大小写规则是这样的:  1、数据库名与表名是严格区分大小写的;  2、表的别名是严格区分大小写的;  3、列名与列的别名在所有的情况下均是忽略大小写的;  4、变量名也是严格区分大小写的;  MySQL在Windows下都不区分大小写。  所以在不...

2018-04-17 14:51:12

阅读数:11

评论数:0

Spring JdbcTemplate源码深度剖析

在Spring中,JdbcTemplate是经常被使用的类来帮助用户程序操作数据库,在JdbcTemplate为用户程序提供了许多便利的数据库操作方法,比如查询,更新等,而且在Spring中,有许多类似 JdbcTemplate的模板,比如HibernateTemplate等等 - 看来这是Rod...

2018-04-12 09:04:28

阅读数:19

评论数:0

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