- 博客(67)
- 收藏
- 关注

原创 日常更新学习资料
1. 纯洁的微笑学习Spring Boot时候发现的:GitHub :https://github.com/ityouknow 纯洁的微笑,里面有一些SpringBoot 、Spring Cloud 的demo,很不错。主页:http://www.ityouknow.com/2. 梁飞老师学习dubbo时候发现的梁飞老师以前的博客:https://javatar.iteye.com...
2020-03-13 18:04:52
759
1
原创 field、variable和property有什么区别
这看起来是个无聊的文字游戏,但其实Java术语表里是有关于每一项的说明的。参考Java的术语表https://docs.oracle.com/javase/tutorial/information/glossary.htmlfieldA data member of a class. Unless specified otherwise, a field is not static.一个类的数据成员。除非另有规定,否则一个字段不是静态的。propertyCharacteristics
2021-05-26 14:46:52
806
1
原创 Java-ThreadLocal简析
翻看JDK8的新特性,看到这样的一条。说ThreadLocal在JDK8有新的更改,这里主要都是和lambda表达相关的一些更改。那就来对比看下修改了什么。JDK7的ThreadLocal地址点这里;JDK8的ThreadLocal地址点这里。 /** * Creates a thread local variable. The initial value of the variable is * determined by invoking the {@code get}
2021-01-04 22:35:38
338
原创 谈引用
一直以来,引用好像是个很模糊的概念,从学Java第一天,我们就可以熟练重复这句话:“Java包括基本类型和引用类型”。但是到底什么是引用呢?花2秒钟,思考下Integer.TYPE和Integer.class这两个的区别。介绍在Java里,什么是引用呢?在Java术语表里这么解释:referenceA data element whose value is an address.而不知你有没有注意到,java.lang.ref包包括里一系列和引用有关的类,这些类有什么作用呢?来,咱们
2021-01-04 18:00:44
167
原创 MySQL-Connector-Java居然抛出NPE
Druid DataSource 测试连接有效性问题测试连接有效性是在destroy线程里面测试的,usePingMethod 配置为true(暂时不清楚哪里配置的),则默认走的是MSSQLValidConnectionChecker#isValidConnection检查有效性问题是当连接关闭时,MySQL驱动的socket引用将被设置为null,继续走该方法就会报空指针异常,而空指针异常检测方法里面并未抛出,直接吞掉了。。。猜测- 是因为三个数据源是同一个库,检测到连接中断就会将socket
2020-09-07 01:05:39
653
1
转载 如何使用javac递归编译目录下所有java文件
#Linux $ find -name "*.java" > sources.txt $ javac @sources.txt :: Windows> dir /s /b *.java > sources.txt > javac @sources.txt 参考内容:IT屋
2020-08-31 14:01:02
1457
原创 日志配置-logback
<?xml version="1.0" encoding="UTF-8" ?><!-- 如果配置文件 logback-test.xml 和 logback.xml 都不存在,那么 logback 默认地会调用BasicConfigurator,创建一个最小化配置. 最小化配置由一个关联到根 logger 的ConsoleAppender 组成.输出用模式为 %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}
2020-08-31 13:59:54
463
原创 Java新特性- 待更新
仅是个人笔记,待更新,仅供参考JDK1.8Lambda 表达式 − Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中。方法引用 − 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。默认方法 − 默认方法就是一个在接口里面有了一个实现的方法。新工具 − 新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。Stream API −新
2020-08-31 13:59:08
136
原创 mybatis-config.xml 配置
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"><!-- 注意:由Spring来创建SqlSessionFactory时候,该配置中的任意环境,数据源 和 MyBatis 的事务管理器都会被忽略。 Sq
2020-08-31 13:57:19
268
原创 settings.xml
<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/
2020-08-31 13:55:00
108
原创 HashMap代码简读
put方法/** * 将value与map中的key相关联。 * 如果map中之前有这个key,以前的value将被替换. * * @param key 要与指定值关联的键 * @param value 与指定键关联的值 * @return 旧value值,如果没有这个key,返回null. * (返回null也可能是key关联的value就是null) */ public V put(K key, V
2020-08-31 13:54:04
134
原创 META-INFO有什么用?
The META-INF directoryThe following files/directories in the META-INF directory are recognized and interpreted by the Java 2 Platform to configure applications, extensions, class loaders and services:MANIFEST.MFThe manifest file that is used to define e
2020-08-31 13:53:10
1384
原创 SpringWeb容器启动过程
概念要理解IoC、AOP等你只需要理解JavaSE就可以,知道IoC等解决的是什么问题。但是如果要理解SpringWeb、Spring Web-MVC,你还需要了解JavaEE,理解Servlet。需要理解以下概念:什么是web application?Web应用程序是可以从Web访问的应用程序。 Web应用程序由Web组件(如Servlet,JSP,Filter等)以及其他元素(如HTML,CSS和JavaScript)组成。 Web组件通常在Web服务器中执行并响应HTTP请求。什么是
2020-08-31 13:52:31
465
原创 Spring中的各种ApplicationContext
应用上下文负责装载Bean的定义并把它们组装起来。应用上下文有多个实现,不同的实现区别在于加载配置的方式不同。ApplicationContext为应用程序提供配置的中央接口。当应用程序运行时,这个接口是只读的,但如果实现支持的话,可以重载。一个ApplicationContext提供了:用于访问应用程序组件的Bean工厂方法。继承自ListableBeanFactory。以通用方式加载文件资源的能力。继承自ResourceLoader接口。将事件发布到注册的监听器的能力。继承自Appl
2020-08-31 13:51:30
938
原创 队列基本操作
队列的方法老是记不牢,在此记录下:方法操作注释add增加一个元索成功返回true,如果队列已满,则抛出一个IllegalStateException异常(与offer对比)offer添加一个元素成功返回true,如果队列已满,则返回false(与add对比)put添加一个元素将指定的元素插入此队列,如有必要,阻塞等待空间可用remove移除并返回队列头部的元素如果队列为空,则抛出一个NoSuchElementException异常(注意与poll对比
2020-08-31 13:50:58
157
原创 Spring AOP中概念及切入点表达式
内容来自官方文档AOP中的概念切面(Aspect): a modularization of a concern that cuts across multiple classes. Transaction management is a good example of a crosscutting concern in enterprise Java applications. In Spring AOP, aspects are implemented using regular classes
2020-08-30 17:28:02
212
转载 vim 编辑器学习笔记
前言:vim 的重要性不必多讲,之前没有系统的学过,只知道vi强大,使用vi也是像只用windows下没有鼠标的记事本一样。。。。额,这个形容太贴切了,哈哈。今天系统学习一下,这里做一些记录,不记录就忘记了。。。参考 《鸟哥Linux私房菜》 & 马士兵linux视频资料1. vi三种工作模式,分别是:输入模式(编辑模式),命令模式(一般模式),末行模式(指令列命令模式)模式切换:进去默认为命令模式,输入i,a,o,I,A,O 可进入输入模式输入模式下 Esc 进入命令模式命
2020-08-30 17:22:42
212
原创 常用的Linux命令
刚刚参加工作那会儿,对Linux很不熟悉,工作看日志时候被人一顿diss,后来下决心买了书,看着视频一点点学起。到现在用了也有好几年,可是最近几个月现在的公司运营出现问题,工作安排各种混乱,我已经被“闲置”了许久,之前常用的命令居然忘记了许多。所以这篇文章我用来记录下之前常用的Linux命令,自己有个记录的作用,也希望可以偶尔看到的读者有所收获。生命短暂,我用快捷键:Ctrl + Alt + t– 打开新终端(如何记忆:t是terminal首字母)Ctrl + →或者 Ctrl + ←–
2020-08-30 17:21:54
149
原创 Shell 与 Shell scripts
本文非原创,而是《鸟哥的Linux私房菜》的读书笔记,学习内容来自:《鸟哥的Linux私房菜》,版权归鸟哥。关于shell常见shellBourne SHell (sh)在 Sun 里头默认的 C SHell商业上常用的 K SHellTCSH…关于shell查看当前进程中使用的shell ps | grep $$ | awk '{print $4}'。当前有哪些可以使用的shell?可以查看/etc/shells。登录时,系统会给我用哪个shell?看/etc/passwd。
2020-08-30 17:21:29
219
原创 MySQL基本运维
MySQL安装1. 查看linux版本:file /sbin/init 或者 file /bin/ls2. 查看系统是否已经安装了mysql的其他版本:ps:yum与rpm等改天系统学一下[root@leo usr]#rpm -qa|grep mysqlmysql-libs-5.1.52-1.e16_0.1.x86_64[root@leo usr]#yum -y remove mysql-libs*....3. oracle官网下载到mysql发现压缩包里有一大波安装文件,如下:MySQ
2020-08-30 17:20:13
607
原创 MySQL创建函数错误 ER_BINLOG_UNSAFE_ROUTINE; SQLSTATE: HY000
今天创建函数时候遇到一个问题,如下所示:sql:DROP FUNCTION IF EXISTS xxxxxxx;DELIMITER $CREATE FUNCTION xxxxxxx (seq_name VARCHAR(50)) RETURNS INTEGERCONTAINS SQL BEGIN DECLARE value INTEGER; SET value = 0; SELECT current_value INTO value
2020-08-30 17:18:00
160
原创 关于ThreadPoolExecutor
基本使用:使用 new ThreadPoolExecutor创建线程池一般使用new ThreadPoolExecutor方式,Executors的几个工厂方法实现也是 new ThreadPoolExecutor的方式,不过是参数值不一样。ThreadPoolExecutor构造方法如下:/** * Creates a new {@code ThreadPoolExecutor} with the given initial * parameters. * *
2020-08-30 17:15:29
91
原创 ThreadLocal简单执行逻辑
每个Thread里都保存了一个ThreadLocal.ThreadLocalMap类型的threadLocals变量,以ThreadLocal对象作为key,以T类型的对象作为value。使用ThreadLocal时候,先调用get()方法获取,get()方法先获取保存在Thread对象的ThreadLocalMap对象,再以当前ThreadLocal对象为key获取ThreadLocalMap.Entry对象,进一步获取对应value。如果map为空,或者是Entry为空,则调用 setInitia
2020-08-26 11:23:14
170
原创 Executors创建的几种线程池
##使用Executors创建线程池:共有四种线程池:####1. CachedThreadPool 可缓存线程池 /** * Creates a thread pool that creates new threads as needed, but * will reuse previously constructed threads when they are * available. These pools will typically improve th
2020-08-26 11:22:38
204
原创 编程中遇到的锁汇总
乐观锁与悲观锁悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。Java中 synchronized和 ReentrantLock等独占锁就是悲观锁思想的实现。乐观锁总是假设最好的情况,每次去拿数据的时候都认为别人不会修改,所以不会上锁.
2020-08-26 11:22:02
183
原创 java.util.concurrent并发包
Lock对象Executorsjava.util.concurrent包定义了三个executor接口:Executor:支持启动新任务的简单接口;ExecutorService:Exector的子接口,它添加了帮助管理单个任务和Executor本身生命周期的特性,补充了submit方法。ScheduledExecutorService:是ExecutorService的子接口,支持将来和/或定期执行任务。ThreadPoolsExecutors类提供了几个常用的工厂..
2020-08-26 11:21:09
171
原创 HTTPS
更新:感觉内容还有点问题,待更新。##一、什么是HTTPS?HTTPS = HTTP + TLS##二、什么是TLS?TLS:(Transport Layer Security)传输层安全性协议,是 IETF 在 SSL3.0 的基础上设计的协议。SSL:(Secure Socket Layer) 安全套接层,于 1994 年由网景公司设计,并于 1995 年发布了 3.0 版本。##三、什么是非对称加密?同一个秘钥可以进行加密和解密称为对称加密,速度很快。而非对称加密则需要一对秘钥来完成加解
2020-08-26 11:19:07
323
3
原创 TCP
三次握手同时握手四次挥手另,查看MSL大小:[root@test ~]# sysctl net.ipv4.tcp_fin_timeoutnet.ipv4.tcp_fin_timeout = 60[root@test ~]# cat /proc/sys/net/ipv4/tcp_fin_timeout60TCP报文头字段
2020-08-26 11:18:10
104
原创 Git 笔记
项目中如果想知道某处代码是谁提交的,可以使用git blame my_file,如下:也可以指定行:git blame -L 1,5 my_filegit checkout几个作用切换或者新建分支新建分支 git checkout dev新建并检出分支 git checkout -b dev将暂存区或者指定commit内容覆盖到工作区暂存区中文件恢复到工作区,多个文件用空格隔开 git checkout my_file1 my_file1如果要还原所有文件 git check.
2020-08-26 11:17:16
172
原创 设计模式汇总
单例模式:某个类只能有一个实例,提供一个全局的访问点。简单工厂:一个工厂类根据传入的参量决定创建出那一种产品类的实例。工厂方法:定义一个创建对象的接口,让子类决定实例化那个类。抽象工厂:创建相关或依赖对象的家族,而无需明确指定具体类。建造者模式:封装一个复杂对象的构建过程,并可以按步骤构造。原型模式:通过复制现有的实例来创建新的实例。适配器模式:将一个类的方法接口转换成客户希望的另外一个接口。组合模式:将对象组合成树形结构以表示“”部分-整体“”的层次结构。装饰模式:动态的给对象添加新的功.
2020-08-26 11:12:24
111
转载 UML与设计模式
UML分类类图对象图构建图部署图包图活动图状态机图顺序图(以前翻译成时序图)通信图用例图时序图StarUML使用破解方法,有效(小声bb)类关系泛化实现依赖关联聚合组合面向对象设计设计的目的:可扩展性灵活性可插入性判断设计质量的标准高内聚,低耦合设计的基本原则单一职责原则开放封闭原则里氏替换原则依赖倒置原则接口隔离原
2020-08-26 11:11:37
273
原创 Maven笔记
使用Maven有一年多,但是很多概念一直很含糊,今天稍作总结。 [转载自多篇文章]Maven是什么?1.1 优秀的构建工具通过简单的命令,能够完成清理、编译、测试、打包、部署等一系列过程。同时,不得不提的是,Maven是跨平台的,无论是在Windows、还是在Linux或Mac上,都可以使用同样的命令。1.2 依赖管理工具项目依赖的第三方的开源类库,都可以通过依赖的方式引入到项目中来。代替了原来需要首先下载第三方jar,再加入到项目中的方式。从而更好的解决了合作开发中依赖增多、版本不
2020-08-26 11:08:53
141
原创 一道算法题让我开始担心自己的职业生涯
这道算法题是leetcode120题,求三角形最小路径和。题目描述如下:给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。>例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为 11(即,2 +
2020-07-17 11:22:39
154
原创 为什么一个字节是8位
有没有思考过为什么一个byte是8位呢?一起来看下Quora上这个回答。回答摘自:Quora:Why is one byte formed by 8 bits?Buddha BuckHistorical accident. Early computers didn’t necessarily use 8-bit bytes.The term “byte” was coined in the 1950’s to refer to the addressable blocks of memory i
2020-07-17 11:21:59
2715
原创 Zookeeper理解多少?zk笔记
Zookee是什么?看官方描述:ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. All of these kinds of services are used in some form or another by distributed app
2020-05-12 10:42:42
345
原创 MySQL创建函数错误 ER_BINLOG_UNSAFE_ROUTINE; SQLSTATE: HY000
今天创建函数时候遇到一个问题,如下所示:sql:DROP FUNCTION IF EXISTS xxxxxxx;DELIMITER $CREATE FUNCTION xxxxxxx (seq_name VARCHAR(50)) RETURNS INTEGERCONTAINS SQL BEGIN DECLARE value INTEGER; ...
2020-03-16 15:09:52
253
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人