自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 Java多线程学习总结

MyThread01 线程创建package com.yenroc.ho.多线程;public class MyThread01 { public static void main(String[] args) throws InterruptedException { System.out.print(Thread.currentThread().getName() + "\tmain running..\n"); // 线程类start 执行线程类的ru

2021-06-06 12:57:41 160 1

原创 走进Mybatis--02.Mybatis中Dao层实现类逻辑分析(SqlSession如何执行查询)

上期文章走进Mybatis–01.简单模拟实现Mybatis上一篇文章中,简单的使用了Mybatis来进行了一个数据查询的实现,发现我们只需要声明Dao接口,创建Mapper.xml文件,并不需要我们自己来实现Dao接口的逻辑,就可以实现数据的查询操作。1. 自定义Dao接口的实现类当然也可以手动编写Dao接口的实现类来进行数据的CRUD操作。首先创建Maven项目,在pom文件中加入mybatis和数据库连接的依赖。首先回顾之前的方式来进行数据查询 <dependency

2021-06-20 18:37:40 454 1

原创 走进Mybatis--01.简单模拟实现Mybatis

什么是 MyBatis?MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录.MyBatis入门体验可以参考 mybatis 3 | 入门 内容很完整,本文主要来编写代码来模拟Mybatis,所以此处就不重点讲

2021-06-18 23:08:26 290

原创 手写环形单向链表,解决约瑟夫问题(丢手绢问题)

单向环形列表首先说明以下单向环形列表:即A->B->C->D->A 这样的一个环形数据结构;约瑟夫问题约瑟夫问题,又名丢手绢问题:N个人围成一圈,从第一个开始报数,第M个将被杀掉,最后剩下一个,其余人都将被杀掉。例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3,1首先简单的实现一个环形的单向链表的数据结构以及添加数据的功能package com.yenroc.linkedlist;/** * 单向循环列表 */public class SingleCyc.

2021-03-22 00:20:30 159

原创 Java8新特性总结

内置函数式接口Consumer(消费型接口)接收一个参数,无返回值 Consumer<Person> consumer = person ->System.out.println("name="+person.getName()); consumer.accept(new Person("yenroc","河南新乡"));Supplier(提供型接口) 无参,有返回值 Supplier<Person> personSupplie

2021-03-21 22:33:37 104

原创 双向链表的实现原理

链表(LinkedList)具有的特性顺序访问会非常高效,而随机访问效率比较低插入、删除操作效率比较高链表实现的关键linkedList为双链表,里面维护了一个first和last指针,而每个节点有item自身、prev和next两个节点来维护双链表的关系,所以顺序访问,插入,删除相比ArrayList 要高效,但是随机读取却没有ArrayList高效,所以需要按实际场景来选择使用那种数据类型。以下是LinkedList 实现的关键代码实现,package com.yenroc.linked

2021-02-24 00:00:02 290

原创 手写一个基于数组实现的队列

队列具有先进先出的特点,本文基于数组来实现队列的先进先出的功能首先看一下效果图以下是代码具体实现package com.yenroc.queue;import java.util.Scanner;public class ArrayQueueDemo { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print

2021-02-22 23:09:10 156

原创 Springboot2.X 整合 Quartz 实现分布式任务调度中心

之前曾写过一个springboot 1x整合Quartz 动态创建定时任务该篇文章参考 SpringBoot2.0新特性 - Quartz自动化配置集成目录Springboot2.x 整合quartz创建测试Job实现任务调度中心多实例任务调度解决方案1. Springboot2.x 整合quartz在数据库中建立Quartz的相关系统表,所以你需要在数据库中执行如下来自quartz-scheduler tables_mysql_innodb.sql-- IN YOUR QUARTZ

2020-06-27 00:54:26 998 1

原创 基于Springboot 搭建文件服务器,支持上传预览下载

文件上传文件上传到服务器指定目录,记录文件存放路径,生成文件唯一名(日期+随机Id)文件预览方案1: 将可预览的文件上传到nginx 代理的静态资源路径,然后记录该路径地址,以后访问预览该文件的时候可以直接通过ngix代理进行直接预览方案2: 通过访问的文件名,在数据库获取文件的全路径,后台将文件流的放到response...

2020-06-25 23:46:11 5758 2

原创 Java必备--高级特性反射

什么是反射机制在程序运行状态中,对于任意一个类或对象,都能够获取到这个类的所有属性和方法(包括私有属性和方法),这种动态获取信息以及动态调用对象方法的功能就称为反射机制。简单来讲,通过反射,类对我们是完全透明的,想要获取任何东西都可以反射有什么优点可以在程序运行过程中,操作这些对象;可以解耦,提高程序的可扩展性代码演示说明编写一个类,然后通过反射来读、操作这个类package com...

2020-04-30 16:39:43 194

原创 Database 性能优化主意事项

1. 查找执行慢的SQLMysql查询当前执行的sqlSELECT * FROM information schema.PROCESSLIST where info is not null;Time列是sql持续的时间,单位是秒,越少越好,至少会有一条记录,就是当前的监控sql。Mysql查询未提交事务中的历史SQLSELECT ps.id 'PROCESS ID', ps. US...

2020-04-26 10:20:42 209

原创 关于RestFul接口的文件导入导出的实现

如果一个接口的请求参数或者相应接口的数据内容过大,需要以json文件的形式来进行交互,可以通过以下方式进行编码实现导入json类型的文件/** * 流程导入json数据接口 */ @PostMapping("/deployProd/import") @Timed @ApiOperation(value="流程导入json数据接口", notes="流...

2019-06-24 10:43:44 6420 2

原创 Java设计模式----单例模式

单例设计模式所解决的问题就是:保证类的对象在内存中唯一。1、饿汉/** * @说明:饿汉模式 * 解决思路: * 1.不允许其他程序使用new创建该类对象。(别人new不可控) * 2.在该类中创建一个本类实例。 * 3.对外提供一个方法让其他程序可以获取该对象。 * 步骤: * 1.私有化该类的构造函数 * 2.通过new在本类中创建一个本类对象。 * 3.定义一个共...

2019-05-08 21:35:57 108

原创 SpringBoot整合quartz动态创建定时任务实现以及踩过的坑

需要了解一下quartz有Job,Scheduler,Trigger等概念,在此就不详细说明首先说一下功能需求场景 该提醒可以在页面上进行配置多个,比如可以配置一个提醒:在每天的12点,发送邮件给某个人,可以继续配置另外一个提醒:在每个月的10号,给某个人转账,等等,多个动态的提醒,说一下实现的方式 上面的需求即通过页面的配置,创建出来对应的定时任务,这些任务是动态创建出来的,不能够在...

2018-09-16 16:37:50 7334 3

原创 SpringBoot全局异常处理

参考文章: https://blog.csdn.net/chinrui/article/details/71036544 https://blog.csdn.net/chenhaotao/article/details/78784493 http://www.cnblogs.com/java-zhao/archive/2016/08/13/5769018.html...

2018-07-23 09:39:29 622

原创 递归将JsonNode数据扁平化

声明:由于层级的json对象中名字可能会有重复,所有扁平化时key值带上了父级的key 使用一个key的list列表,来判断是否有重复的键插入,如果键已经存在,则跳过。 如果对于每个字段的信息都不可或缺,可以再判断有重复键的时候,修改键值名称,就能正常获取插入值了。 /** * 递归对jsonNode进行处理 * @param map 要返回的表单对象 ...

2018-07-16 14:23:00 1407

原创 WEB开发----springboot的登录拦截机制

如果是一个后台的管理项目的,有些东西是不能直接就可以访问的,必须要登录才可以进去,所以就需要进行登录拦截,只有登录过的用户才可以正常访问. 登录拦截是不会拦截jsp页面的方法,所以我们需要在Controller写方法进行页面的调用,而且需要把jsp页面从webapp文件夹下放到WEB-INF下面,因为webapp下的文件是可以直接访问到的:文件目录 , 首先创建一个WebConfig.clas

2017-10-20 15:34:51 5912

原创 Git的基本命令

1. 本地仓库将test目录创建为git仓库,这时候你当前目录下会多了一个.git的目录,这个目录是Git来跟踪管理版本的 git init在版本库test目录下新建一个记事本文件 readme.txt 将文件添加到暂存区: git add readme.txt把文件提交到仓库 git commit查看是否还有文件未提交,即查看改动的文件 git status现在继续来改

2017-09-20 13:22:32 236

转载 Java设计模式----适配器模式

本文以一只残废狗为例,狗本身应该有吃和跑两个能力,但是该狗只有吃的能力,通过适配器模式实现狗可以跑的功能. 1. 先创建一个狗的接口,具有跑和吃两个方法/** * 定义狗接口,具备2个功能 * 1- 狗能跑 * 2- 狗能吃 */

2017-09-13 17:06:56 192

原创 WEB开发----SSM框架的搭建

上一篇我使用maven创建一个web项目Maven项目的搭建 。今天将在那个的基础上进行完善,做成SSM模式的web框架.1. 在src/mian/java/下面创建Package,格式如下:2. 在src/main/resources下创建配置文件 其中log4j.properties为日志文件; spring-mvc.xml为springMVC的配置文件; spring-myb

2017-08-29 17:44:24 1028

原创 SSM框架----使用Generator自动生成代码

利用MyBatis的Generator生成器自动生成实体类、DAO接口和Mapping映射文件。这样可以省去很多的功夫,将生成的代码copy到项目工程中即可。 首先在本地建一个文件夹用来使用生成代码工具 该文件夹下src目录用来存放生成的代码,generatorConfig.xml文件用来配置数据库连接表等配置信息,mybatis jar包,数据库连接jar包,代码生成jar包.

2017-08-29 11:08:03 6841 3

原创 Java设计模式----工厂方法模式

工厂方法模式就是通过一个工厂来创建对象,工厂方法模式分为三种,普通工厂模式,多个工厂方法模式,静态工厂方法模式一 丶普通工厂模式普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。 /** * 声明一个跑的接口 * @author Vip_HYP */ public interface Run{ public void

2017-08-23 15:51:19 223

原创 Java网络----Socket, 多线程实现内网多人聊天及一对一聊天

本文属于网络编程,才用Socket+多线程编程,实现使用控制台进行多人互动聊天,以及一对一互动聊天,

2017-08-22 13:25:22 1926 2

原创 Java算法----递归求N个正数的最小公倍数

两个或多个整数公有的倍数叫做它们的公倍数。 两个或多个整数的公倍数里最小的那一个叫做它们的最小公倍数。直接贴出两个正数的最小公倍数的求法,这是我在大学学习java的时候的想法,虽然性能不好,但还是可以实现的.

2017-08-21 12:27:11 992

空空如也

空空如也

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

TA关注的人

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