自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

my博客

懒懒散散的一些随笔

  • 博客(73)
  • 资源 (2)
  • 收藏
  • 关注

原创 java 获取注解信息的方法 小结

文章目录基础一、官方提供的注解1.@Retention2.@Target二、自定义注解获取注解获取注解信息一 、直接存在二、间接存在三、存在四、关联总结demo1.直接存在间接存在关联基础一、官方提供的注解jdk 内置了一些注解基本注解java.lang@Override@Deprecated@SuppressWarnings元注解 :用来修饰其他注解的注解。jav...

2020-07-01 01:36:19 17898 4

原创 使用IText生成PDF文件,并记录一些遇到的问题

记录 itext 基础使用,包含字体设置、 表格、图片、锚点、目录等信息

2019-08-27 15:26:14 50562 56

原创 Mybatis 获取自增主键值(Mysql,Oracle)

对于支持主键自增的数据库<insert id=”insertUser” useGeneratedKeys=”true” keyProperty=”id” >insert into user( user_name, user_password, profile_photo , create_time) values(

2018-11-13 11:18:23 25260 6

原创 解决下载文件中文名称乱码(包括IE,edge,Firefox,chrome)

中文名称下载文件乱码,主要要做Firefox,IE和chrome这三个浏览器的适配。IE浏览器 一直就是不走寻常路版本众多,苦逼的就是很多程序员了,经常要个版本浏览器的适配。下面是常用浏览器的user-agentIE11Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like GeckoIE6Mozilla/4.0...

2018-11-07 17:22:03 14187 5

原创 spring常用注解

现在特别流行的springboot大量使用注解,实现自动配置简化第三方集成的复杂性。现在总结一下spring中的常用注解@Component@Controller@Service@Repository@ComponentScan@Scope@DependsOn@Lazy@Resource@Autowired@Component(“xxx”)指定某个类是容器的bea...

2018-05-20 12:31:40 9228 1

原创 python 常用的几个镜像仓库

一般使用python安装库,会用到pip install libName ,,这个会在Python的官方源pypi.python.org/pypi 下载,有时会因为超时会抛异常无法下载成功。所以可以选择一些比较稳定速度比较快的国内镜像来下载python库。在线下载pip install -i url libName常用的python 镜像1.豆瓣http://pyp...

2018-05-03 14:11:49 62682 2

原创 Mybatis返回单个实体或者返回List

1.返回某个实体<select id="identification" parameterType=&

2018-04-13 14:49:50 60800 4

原创 删除运行框中的文件打开历史记录

当我们使用everything、百度、迅雷等软件,在列表中右键选中打开文件夹时。当使用 win+R 快捷键等方式打开运行时,输入盘符会出现之前打开过的文件夹, 一方面展示的特别多会比较混乱,另一方面。目前本人使用的win10系统,上述操作(百度云、everything等第三方应用中打开文件夹)产生的历史记录是无法清除的。后来在不经意间发现删除IE历史记录竟 可以。记得在之前的window版本中(win8/win7?)是直接通过清除注册表,来清空历史记录的。

2024-01-15 18:00:25 1909

原创 JAVA8新特性- 函数式接口

java8 stream 内置的function

2022-08-25 11:10:19 2747

原创 SpringMVC源码--DispatcherServlet 初始化

DispatcherServlet 初始化

2022-07-20 19:03:28 2666

原创 JAVA8新特性-Stream

java8 新特性, stream

2022-07-01 19:29:02 2752

原创 Mybatis源码 - 缓存

文章目录一缓存二级缓存二级缓存的cache缓存失效一级缓存失效二级缓存失效SqlSession 使用门面模式,实际完成数据查询、更新操作的是Executor, 而Executor 分两大类,一类带cache和一类不带cache。【DefaultSqlSession】 @Override public int update(String statement, Object parameter) { //..... MappedStatement ms = configurati

2022-05-11 11:16:49 314

原创 Maven插件

文章目录生命周期三套生命周期cleandefaultsite插件目标执行插件目标插件绑定自定义绑定生命周期Maven 的生命周期就是为了对所有的构建过程进行抽象和统一。Maven的生命周期是抽象的,这意味着生命周期本身不做任何实际的工作,在Maven的设计中,实际的任务都交由插件来完成。这种思想与设计模式中的模板方法非常相似。Maven定义的生命周期和插件机制一方面保证了所有的Maven项目有一致 的构建标准,另一方面又通过默认的插件简化和稳定了实际项目的构建。三套生命周期Maven拥有三套互相独

2022-05-11 10:35:36 684

原创 Mysql优化

版本Mysql版本 5.7.21sql的优化主要是围绕着在查询语句的时候尽量使用索引避免全表扫描。优化1、避免使用is not null网上很多文章都说 is null 也会导致全文扫描,在使用 mysql 5.7.21 版本时,发现 对于索引字段 使用is null 判断,依旧不会扫描全表...

2022-05-11 10:23:01 250 1

转载 Mybatis 批量操作

批量插入批量操作使用 foreach 标签插入元素是毫无疑问的,问题不同数据库的批量 插入操作各有不同。Oracle单条插入的语法 Oracle 和MySQL是一致的,但是Oracle的多条插入语句明显和其他数据库不同。Oracle 批量插入语法 insert into <tableName>[(<table_column1>,<table_column2&...

2021-12-31 18:00:29 452

原创 FastJson 下划线转驼峰

开发中存在一个需求,需要将下划线的json字符串,用驼峰的实体类接收。@Data@ToStringpublic class User{ private String userName;}第一种查了一些资料,提供了如下方法 进行转化:String str = "{\"user_name\":123}";ObjectMapper objectMapper = new ObjectMapper();objectMapper.setPropertyNamingStrategy(com.fast

2021-12-09 10:54:54 6134

原创 MySQL 设置用户权限

用户权限mysql的user表中保存一些权限信息,那是用户的操作权限,比如说select,delete,update等权限。但是刚创建的用户是没有操作其他已经存在数据库及表的权限,需要其他高级用户分配权限给userName用户操作dbname数据库所有表的权限。注意:要授权的用户,必须有授权的权限,还必须拥有你将要授予其他用户权限的所有权限1. 给用户授予权限给用户授予权限的一般语法,下...

2021-11-25 19:43:22 10408 2

原创 设计模式(单例)

文章目录单例模式懒汉方式 并发解决方法双重校验静态内部类破坏单例的方式反射破坏单例及解决方案序列化破坏单例及解决方案clone 破坏单例及解决方案小结单例模式单例:确保一个类在任何情况下只有一个实例,并提供一个全局访问点。主要解决一个全局使用的类频繁地创建与销毁。常见的创建方式:饿汉: 一开始就创建实例优缺点:执行效率高、性能高、简单浪费内存空间(可能存在大量未使用的单例对象)懒汉:使用时创建对象。如果并发处理没有做好,这种操作会导致一些问题:同一个实例:正常顺序执行后一个

2021-11-25 19:40:50 275

原创 JAVA8新特性-lambda表达式

现在真的是越来越跟不上步伐了,Java10 都出生了。我连8 的一些变化都不清楚。Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本,这个版本相较于之前的7 添加了很多糖果语法。同时一些底层的内容也改动了。接口默认方法相较于上个版本,接口可以使用default关键字。这是定义在接口中的默认方法,虽然使用了default关键字,但是前面默认还是会使用 publi..............................

2021-11-25 19:40:05 733

原创 @Repeatable注解信息获取

文章目录@Repeatable 注解的基本语法demo通过注解Role获取信息通过注解Role获取信息@Repeatable 注解的基本语法注解通常只能直接修饰某个元素一次,如果修饰了多次那么会出现编译异常public @interface Role { String role() default "";}如果想要某个注解在某个元素上(直接)出现多次,那么就可以使用@Repeatable 注解@Repeatable 有以下使用规则:只能修饰注解。 【@Target(Eleme

2021-11-25 11:26:00 434

原创 设计模式(代理)

静态代理静态代理使用硬编码的方式实现代理。public interface Singer { public void sing();}提供实现类public class Linjunjie implements Singer { @Override public void sing() { System.out.println("全都怪我,不该沉默时沉默。。。。"); }}代理类public class ProxySinger impl

2021-11-23 17:26:58 233

原创 注解 AliasFor 失效

场景:当前controller层的代码,都会使用两层 catch 语句,捕获异常。 try{ } catch (AMSException e) { result.setResultCode(1); result.setErrorDesc(e.getMessage()); } catch (Exception e) { e.printStackTrace(); result.s

2021-11-11 16:25:23 1556

原创 elasticsearch 文档增删改

创建文档_index、_type、_id三者唯一确定一个文档, 所以新增时需要自定义唯一的主键值或者使用elasticsearch 自动生成的主键自动生成唯一_idPOST 127.0.0.1:9200/person/doc/{ "name":"test", "age":20, "sex":"男"}自定义 _idPUT person/doc/1/_create{ "name":"test1", "age":22, "sex":"男"

2021-11-10 17:19:27 3463

原创 CountDownLatch源码浅析

文章目录CountDownLatch热身源码解析创建CountDownLatch对象countDownCountDownLatch也是juc包下的工具类,用于实现线程同步。CountDownLacth 和juc(java.util.concurrent)包下的其他工具类一样,内部存在一个继承了AQS(AbstractQueuedSynchronizer)的内部类Sync。通过Sync来操作同步...

2021-09-26 19:26:41 172

原创 阻塞队列 LinkedBlockingQueue

LinkedBlockingQueue基于单向链表实现的阻塞队列属性 /** The capacity bound, or Integer.MAX_VALUE if none */ //队列容量 private final int capacity; /** Current number of elements */ // 当前元素数量 priv...

2020-06-15 13:41:32 386 1

原创 Mybatis插件

文章目录拦截器拦截器接口setPropertiespluginintercept拦截器签名过程拦截器MyBatis 允许在己映射语句执行过程中的某一点进行拦截调用。默认情况下, MyBatis 允许使用插件来拦截的接口和方法包括以下几个。Executor ( update 、 query 、 flushStatements 、 commit 、 rollback 、getTransact...

2020-04-30 07:12:21 2263

原创 Xshell连接虚拟机中的Ubuntu

文章目录配置虚拟机网络Xshell 连接理想的步骤意外后的步骤Connection failed出现弹框错误安装 openssh-server错误配置虚拟机网络如果在本地可以ping通 虚拟机的ip,就可以通过xshell连接了。Xshell 连接理想的步骤点击【文件】->【新建】打开新建会话属性弹框,输入虚拟机的主机ip。切换选项卡【用户身份验证】。输入用户名,密码需要...

2019-12-19 14:30:23 11083 5

原创 logback 的属性

文章目录spring Boot 日志Spring Boot 配置文件配置日志logback依赖logback配置文件logback 彩色日志logback 常用的输出方式ConsoleAppenderFileAppenderRollingFileAppenderTimeBasedRollingPolicy错误Could not find Janino library on the class p...

2019-11-15 22:07:22 3247 1

原创 mysql内置函数

字符串连接 (CONCAT)常用的场景就是模糊匹配select CONCAT('%','requestParam','%');

2019-11-15 22:03:06 596

原创 使用POI 生成excel 笔记

POI的设置背景色必须与另外一个设置结合起来headStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);headStyle.setFillForegroundColor(HSSFColor.RED.index);参考

2019-10-26 18:12:37 8319 2

原创 IDEA application 配置文件没有提示。(插件未启动)

我的 IDEA 默认情况下在修改 spring boot的配置文件【 application.yml | application.properties】 是有提示信息的。但是今天突然发现不行了。网上搜索了一下,说的最多的就是 将文件夹设置为 资源目录。我的【resources】文件夹就是资源根目录,所以是没办法设置的。后来想了一下,觉得是之前手贱修改了不该修改的东西。最有可能的就是修改了插...

2019-10-09 16:15:09 9520 1

原创 线程通信

文章目录线程通信synchronized 关键字wait/notifyConditionJoin线程通信synchronized 关键字wait、notify、notifyAll 方法调用需要获取对象监视器。 synchronized (obj)获取方式是通过synchronized 关键字实现的,synchronized 是一个重量级锁。Java中的每一个对象都可以作为锁,这是为什...

2019-09-29 23:38:58 172

原创 创建线程及线程状态

文章目录线程的创建和启动1. 继承Thread类2. 实现Runnable接口demo小结初始化源码分析线程状态线程的创建和启动java使用Thread 表示线程,所有的线程对象都必须是Thread类或者子类的实例。There are two ways to create a new thread of executionjava中 提供了两种创建一个新的线程程序的方式1. 继承Th...

2019-09-29 23:37:21 244

原创 线程 常用方法及解析

Thread 常用方法1.sleepThread.sleep(10*1000);//休眠十秒The thread does not lose ownership of any monitors控制当前执行的线程休眠指定的时间(单位是毫秒)。时间精确性取决于系统计时器和调度程序的精度和准确性。 该方式不会释放线程拥有的对象监视器。当其他线程试图使用interrupt方法中断该线程时,...

2019-09-29 23:36:30 413

原创 线程中断

不同状态下调用interrupt线程的响应在之前介绍过java线程有6种状态。使用枚举类 Thread.State来描述线程的状态。重新复习一下调用interrupt 方法会唤醒处于等待的线程(sleep,wait,park)thread.hpp ParkEvent * _ParkEvent ; // for synchronized() P...

2019-09-29 23:36:07 331

原创 阻塞队列 - ArrayBlockingQueue源码解析

文章目录继承结构源码解析属性构造方法方法offeraddputremovepolltake其他方法在BlockingQueue一篇中简单介绍了接口中方法的使用。在本篇中会简单介绍源码继承结构源码解析属性 //存储入队元素 final Object[] items; /** items index for next take, poll, peek or remove */...

2019-09-05 10:17:31 395 1

原创 阻塞队列(BlockingQueue)方法介绍

不考虑消息持久化、消息丢失,在线程级别的控制。ArrayBlockQueueListedBlockQueueDelayQueueSynchrousQueue操作方法插入元素add / offer / put删除元素remove /poll /take...

2019-09-03 13:57:33 2884

原创 ReentrantLock 源码分析

AbstractQueuedSynchronizer 是实现jdk层面线程提供的安全的工具类

2019-08-09 14:47:27 246

原创 java线程基础

记得之前学java的时候,最琢磨不定的就是多线程。状态比较多,执行起来也是随心所欲,弄得我焦头烂额。所以很多时候有意的避开使用多线程,但是对于一个java开发人员来说,多线程是必备的基本功。而且对于一些耗时操作基本是必选的。虽然现在也会照着葫芦画瓢,使用线程池执行并发操作,但是很多多线程的基本知识还是一知半解。所以拿出了一些时间重温一下(学习一下)多线程的知识。状态学习多线程,必不可少的是一...

2019-05-21 15:41:03 297

原创 使用itext为已有的pdf文档生成书签

第一步,获取文件的目录在当当上或者京东等网站上对到对应的PDF文件,复制其目录。并对目录做一些小的处理。复制的目录将空格是中文空格,需要将所有的中文空格修改为英文空格。当然也可以使用中文空格(代码需要修改)为了操作方便,删除了目录部分。当然也可以对目录也添加 页码的对应关系需要手动的找出文档正文的起始页码。 比如哈哈!算法的正文是第13页。如果想要把目录也放在文件中,需要进行文本转码(...

2019-05-06 16:50:15 4296 1

hotspot(jvm 源码).zip

java JWM 源码 ,版本jdk1.8 。java JVM 源码,版本 jdk 1.8。java JWM 源码 ,版本jdk1.8 。java JWM 源码 ,版本jdk1.8 。java JWM 源码 ,版本jdk1.8 。

2019-08-29

mongo-java-driver-3.6.1

Java 程序中使用 MongoDB,需要安装了 MongoDB JDBC 驱动。该压缩包是mongoDB 3.6.1 ,包括mongodb 驱动的源码,文档和class文件

2018-04-10

空空如也

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

TA关注的人

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