- 博客(19)
- 收藏
- 关注
原创 【Java定时任务的实现】包含Quartz,Timer等
quartz和jdk的timer实现定时任务,我太想要1024牌子了,先发一篇不完整的后面再补。
2022-10-24 22:11:21
363
原创 【设计模式】-3.原型模式 4.建造者模式
设计模式持续更新我们一起🚗GO!GO!GO!本篇文章介绍两种设计模式原型模式建造者模式点赞+关注 是我最大动力 ❤️❤️❤️话不多说开始吧文章目录原型模式扩展建造者模式优缺点原型模式用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型对象相同的新对象。原型模式包含如下角色:抽象原型类:规定了具体原型对象必须实现的的 clone() 方法。具体原型类:实现抽象原型类的 clone() 方法,它是可被复制的对象。访问类:使用具体原型类中的 clone() 方法
2022-04-24 13:46:19
390
2
原创 【设计模式】-2.工厂模式,几个例子带你理解工厂模式
23种设计模式持续更新-2.工厂模式快上车 🚗GOGOGOGO!关注和点赞是我最大动力文章目录简介简单工厂模式优缺点静态工厂模式工厂模式优缺点抽象工厂模式优缺点使用场景模式扩展简介在java中,万物皆对象,这些对象都需要创建,如果创建的时候直接new该对象,就会对该对象耦合严重,假如我们要更换对象,所有new对象的地方都需要修改一遍,这显然违背了软件设计的开闭原则。如果我们使用工厂来生产对象,我们就只和工厂打交道就可以了,彻底和对象解耦,如果要更换对象,直接在工厂里更换该对象即可,达到了与对
2022-04-22 17:21:04
5503
4
原创 Netty案例 手动实现Nginx和聊天室支持单聊和群聊,心跳检测,强制下线
手动实现一个Nginx加聊天室的案例闲来无事?🔥快来拿个小案例练手简单易懂快速上手案例不长快快 上车!上车 🚗GO! GO! GO! 🚗相信通过这个案例能让你学到更多东西关注收藏是我最大动力文章目录服务器开发环境准备代码编写服务器后端代码聊天室前端代码聊天室后端代码效果测试代码全部粘贴下面了,如果想要一个完整的包可以私信我,我也会把打包的链接留在后面来介绍一下这个小案例:1.服务器实现一个资源通过http映射类似Nginx我们的案例都在我们自己实现的服务器上面运行,没有使用Tomc
2022-04-21 18:35:36
2962
4
原创 【设计模式】-1.单例模式-你真的了解单例模式吗,单例模式使用详解
23种设计模式持续更新—1.单例模式文章目录单例模式的实现饿汉式饿汉式(静态代码块方式)懒汉式(线程不安全)懒汉式(线程安全)懒汉式(双重检查锁)懒汉式(静态内部类)枚举方式存在的问题使用序列化来破坏单例使用反射来破坏单例解决方案序列化、反序列方式破坏单例模式的解决方法反射方式破解单例的解决方法创建者模式之单例模式单例设计模式分类两种:饿汉式:类加载就会导致该单实例对象被创建 懒汉式:类加载不会导致该单实例对象被创建,而是首次使用该对象时才会创建单例模式的实现饿汉式/** * 饿汉式
2022-04-21 13:45:13
229
2
原创 NIO vs BIO,零拷贝,同步阻塞、同步非阻塞、同步多路复用、异步非阻塞
同是IO,NIO 和BIO有什么区别?什么是 同步阻塞、同步非阻塞、同步多路复用、异步非阻塞?他们是如何工作的?已经有了IO了NIO是干什么的?这篇文章将带你解决这些疑惑在学习Java基础是说起IO就不得不说起stream和NIO对应的channel那stream与channel有何差别?缓冲区差别:普通的stream不会缓冲数据,不带缓冲数据,频繁的进行读写切换导致性能不是很高,所以在stream使用时我们通常使用一个字节数组来进行数据暂存,来达到缓冲区的效果,减少读写切换来提高性能利用
2022-04-11 09:35:33
347
1
原创 每日一题2-二维数组中的查找,不一样的查找方式
题目链接剑指offer04.二维数组的查找题目描述示例我们的常规做法是利用,数组有序的条件来降低时间复杂度[方法一] 使用二分查找因为每一个子数组都是有序的使用二分是减少计算的有效方法,但是这个方法并没有充分利用题中的条件,从上到下也是递增的class Solution { public boolean findNumberIn2DArray(int[][] matrix, int target) { for (int i = 0; i < matrix.l
2022-01-18 12:55:14
115
原创 算法每日一题-数组美丽值求和
题目链接2012. 数组美丽值求和大于左边所有数,并且小于右边所有数,即可+2于是我们可以使用两个变量,分别保存当前遍历到的数左边的最大值,以及右边的最小值(当前数只要大于左边的最大值就比左边所有数都大,小于右边的最小值就比右边所有数都小,即满足+2的条件)具体实现:正序遍历,判断当前数是否满足大于左边所有数(大于左边最大值)的条件若满足就先记录为true,并更新左边的最大值 max,以便下一个数的判断使用再倒序遍历,判断当前数是否满足小于右边所有数(小于右边最小值)的条件若满足就表示当
2022-01-17 13:44:31
615
原创 [图解JVM]之JVM中的内存区域,结合深度理解Java虚拟机和黑马课程含链接,简单易懂
[图解JVM] 结合深度理解java虚拟机和黑马课程,对JVM进行解析,尽量形象具体的为大家讲解虚拟机,后面会持续更新
2022-01-15 20:50:37
498
原创 [简化] 阿里云Linux安装Java,Mysql,远程连接Mysql数据库,基本配置环境
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结Linux安装java mysql太繁杂?希望这篇文章可以帮助到大家提示:作者配置的时候也遇到了不少坑我总结了一下帮助大家避坑,尽量简化配置,安装配置一把梭一、安装apache安装apche服务yum install httpd二、使用步骤1.引入库代码如下(示例):import
2022-01-09 23:45:32
1372
2
原创 多种方法解决SpringMVC拦截器无法加载css,js静态资源问题
拦截器目的是为了保障网站的资源安全问题????我们通常设置拦截器,但是我们设置拦截器一般都是/**全局全部资源都被拦截,然后让拦截器去判断是否通过但是如果没有对静态资源进行管理静态资源就没法正常加载????<!-- 拦截器--> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/>
2022-01-06 23:24:25
1336
3
原创 数据库的,幻读,脏读,不可重复读区别,以及相关隔离级别
脏读:当一事务进行数据修改时,数据还没有提交到数据库,另一事务进行该数据读取,读取的数据是更新之前的与实际数据有偏差,这就造成了脏读。脏读就是读的数据不够新,读的是正在被替代的旧数据。不可重复读:顾名思义两次读的数据不相等,当事务第一次组读数据后,另一事务对该数据进行修改,当这个事务再次读到这个数据时发现两次的数据不一致,在一次事务中对同一数据读取的结果不同导致的现象叫做不可重复读。幻读:幻读和不可重复度有点相似,搞不清他两个之间的区别。他们两个之间的区别主要是在范围不同,不可重复读是指行内的数
2021-12-14 14:52:03
2661
原创 Java多线程,线程安全,线程死锁,线程通信,线程同步(上)
Java多线程,线程安全,线程死锁,线程通信,线程同步(上)什么是线程??线程是计算机执行的最小单位,在一个进程中可以有多个不同线程多线程有什么用?干什么的?单线程就像一个瓶子戳一个洞,而多线程是戳了多个洞,可以提高程序的执行效率,一个事情分配到不同线程同时执行,在写的程序往往会遇到同时处理多个问题的情况,而单线程必须上一个任务完成后才能执行下一个任务无法完成同时处理多个任务的情况,而多线程就是来解决这个问题的,不用等待上一个任务结束,提高了程序的响应度和效率.第一步先打基础一,
2021-11-29 14:29:59
2994
原创 三分钟安装使用Tomcat,进行网页项目简单部署
1,先去Tomcat官网下载安装包Apache Tomcat® - Welcome!https://tomcat.apache.org/建议下载9版本,10版本有部分未适配可能无法正常使用点击9版本后进行下载相应的core压缩包,前两个为linux的压缩包,后三个为windows的压缩包下载后进行解压可以得到以下文件/bin:启动,关闭应用的一些脚本/conf:一些Tomcat的配置项/logs:存放一些日志文件/webapps:存放网站项目的...
2021-11-29 10:39:51
5149
原创 Java案例 JDBC+MySQL简单快速实现用户登录功能
1,第一步准备JDBC对应数据库的jar包我这里准备的是mysql的环境这是mysql对应的jar包:https://downloads.mysql.com/archives/c-j/下载完成后解压把jar包引入到项目当中去这以idea教育版为例 打开项目结构导入解压的MySQL的jar 文件2,初始化部分完毕现在开始准备代码部分 其中MySQL的环境部分会专门出一期进行简单讲解主函数部分,里面主要包括了两个函数一个用来获得...
2021-10-24 16:54:44
4071
1
原创 格式化类,日期时间以指定格式输出,DataFormat,SimpleDateFormat,DateTimeFormatter
1. DateFormat类Date类打印输出时时间都是以默认的英文格式输出,如果以指定格式输出就需要DateFormat类。将特定格式的日期字符串转换成一个Date对象。DateFormat为抽象类不能被实例化,它提供了一系列方法获取实例对象。 Static DateFormat getDateInstance() 用于创建默认语言环境和格式化风格日期格式器 Static DateFormat getDateInstance(int style)
2021-08-03 17:19:27
1940
原创 JDK 8的日期与时间类
Clock 用于获取指定时区当前日期时间 DayOfWeek 枚举类,定义周一到周日的枚举值 Duration 表示持续时间。OfXxx()用于获取时间的小时分钟秒 Instant 表示一个具体的时刻,可以精确到纳秒。提供了now()方法获取当前时刻,now(Clock clock)用于获取clock对应时刻,plusXxx()当前时间基础加时间,min...
2021-08-03 17:07:37
229
原创 System类与Runtime类
System类常用方法 static void exit(int status) 用于终止当前正在运行的Java虚拟机,其中参数status表示状态代码,若状态非0,则表示异常终止 static void gc() 运行垃圾回收器,对垃圾进行回收 static native long currentTimeMills() 返回以毫秒为单位的当前时间 static void
2021-08-03 17:05:54
189
空空如也
如何使用MDIO 控制RTL8367s
2024-03-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人