自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(115)
  • 资源 (2)
  • 收藏
  • 关注

原创 java中单例模式经典代码案例(饿汉式,懒汉式,静态内部类式,懒汉式反射和反序列化漏洞处理)

java中单例模式经典代码案例(饿汉式,懒汉式,静态内部类式,懒汉式反射和反序列化漏洞处理)1.饿汉式单例模式(一上来就创建对象,饿的不行了)。优点:线程安全,效率高。缺点:不能延时加载,占用资源package com.liangrui.singletonMode;/** * @program: study * @description: 饿汉式单例模式(一上来就创建对象,饿的不行了)。 * 优点:线程安全,效率高。缺点:不能延时加载,占用资源 * @auth

2021-10-28 16:37:49 327 1

原创 java基础实现聊天室功能,群聊,私聊(UTP,读写流,ServerSocket,Socket运用)

java基础实现聊天室功能,群聊,私聊(UTP,读写流,ServerSocket,Socket运用)1.消息发送工具代码package com.liangrui.chatPlace;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.net.Socket;/** * @pr

2021-10-21 19:51:26 1057

原创 网咯爬虫java基础样例(URL,HttpURLConnection运用)

网咯爬虫java基础样例package com.liangrui;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.URL;/** * @program: study * @description: 网咯爬虫java基础样例 * @author: 良睿 *

2021-10-20 19:47:27 228

原创 JAVA实现创建定时任务(Timer,GregorianCalendar运用)

JAVA实现创建定时任务package com.liangrui;import java.util.*;/** * @program: study * @description: JAVA实现创建定时任务 * @author: 良睿 * @create: 2021-10-20 11:27 */public class TimerTaskTest { public static void main(String[] args) { Timer timer=new

2021-10-20 14:53:40 116

原创 java实现百钱百鸡(for循环运用)

java实现百钱百鸡(for循环运用)代码:package com.liangrui;/** * 功能描述: 百钱百鸡 * 我国古代数学家张丘建在《算经》一书中提出的数学问题:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。 百钱 * 买百鸡,问鸡翁、鸡母、鸡雏各几何? * 思路: * 1:第1层循环,用于表示鸡翁的范围,初始化表达式的变量定义为 x=0,判断条件是x<=20 * 2:第2层循环,用于表示鸡母的范围,初始化表达式的变量定义为 y=0

2021-04-24 13:21:51 1193

原创 java实现不死神兔(for循环运用,数组运用)

java实现不死神兔(for循环运用,数组运用)代码:package com.liangrui;/** * 功能描述: 不死神兔 * 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子, 假如兔子都 * 不死,问第二十个月的兔子对数为多少? * * 分析:当前月兔子对数=成熟兔子对数*2+上个月新出生的兔子对数 * =上上个月兔子对数*2+上个月新出生的兔子对数 *

2021-03-31 18:08:20 715 1

原创 java实现逢七过(for循环运用,运算符运用)

java实现逢七过(for循环运用,运算符运用)代码:package com.liangrui;/** * 功能描述: 逢七过 * 1:数据在1-100之间,用for循环实现数据的获取 * 2:根据规则,用if语句实现数据的判断:要么个位是7,要么十位是7,要么能够被7整除 * 3:在控制台输出满足规则的数据 * * @Author 良睿 * @Datetime 2021/3/31 16:06 */public class SkipSevenTest

2021-03-31 16:15:19 3426

原创 java实现减肥计划(if判断运用和switch运用)

java实现减肥计划(if判断运用和switch运用)注意:IntelliJ IDEA 2019.3出现@Test测试时,键盘输入卡住问题解决代码:package com.liangrui;import org.junit.Test;import java.util.Scanner;/** * 功能描述: 减肥计划 * 输入星期数,显示今天的减肥活动 * 周一:跑步 * 周二:游泳 * 周三:慢走 * 周四:动感单车 *

2021-03-31 16:02:25 669

原创 IntelliJ IDEA 2019.3出现@Test测试时,键盘输入卡住问题解决

IntelliJ IDEA 2019.3出现@Test测试时,键盘输入卡住问题解决问题如图:解决方案:1.在Idea安装目录下的D:*\IntelliJ IDEA 2019.1.3\bin里面的文件 idea.exe.vmoptions和dea64.exe.vmoptions追加以下内容:-Deditable.java.test.console=true2.重新启动IDEA,如果不生效,如下图操作:3,再次重启IDEA,发现生效了,如图:到此,IntelliJ IDEA 2019.3出

2021-03-29 01:11:31 694

原创 java实现猜数字游戏(Random运用)

java实现猜数字游戏(Random运用)代码:package com.liangrui;import java.util.Random;import java.util.Scanner;/** * 功能描述: java实现猜数字游戏 * 程序自动生成一个1-100之间的数字,使用程序实现猜出这个数字是多少? * * @Author 良睿 * @Datetime 2021/3/12 16:50 */public class RandomTest { public stat

2021-03-12 17:01:53 818

原创 java实现纸张折成珠穆朗玛峰(while循环运用)

纸张折成珠穆朗玛峰(while循环运用)代码:package com.liangrui;/** * 功能描述: 世界最高山峰是珠穆朗玛峰(8844.43米=8844430毫米),假如我有一张足够大的纸,它的厚度是0.1毫 * 米。请问,我折叠多少次,可以折成珠穆朗玛峰的高度? * * @Author 良睿 * @Datetime 2021/3/12 16:31 */public class WhileTest { public static void main(String[]

2021-03-12 16:41:13 5024

原创 java实现获取所有的水仙花数(for循环运用)

获取所有的水仙花数代码:package com.liangrui;/** * 功能描述: 获取所有的水仙花数 * 水仙花数: * 指的是一个三位数,个位、十位、百位的数字立方和等于原数 * 例如 153 3*3*3 + 5*5*5 + 1*1*1 = 153 * @Author 良睿 * @Datetime 2021/3/12 16:12 */public class ForTest { public static void main(String[] a

2021-03-12 16:29:41 1544

原创 java实现输入月份,判断春夏秋冬(Scanner运用,switch运用)

输入月份,判断春夏秋冬(Scanner运用,switch运用)代码:package com.liangrui;import java.util.Scanner;/** * 功能描述: 输入月份,判断春夏秋冬 * * @Author 良睿 * @Datetime 2021/3/12 15:55 */public class SwitchTest { public static void main(String[] args) { //采用键盘输入

2021-03-12 16:08:12 1338

原创 java实现根据小明不同的期末考试成绩给予不同的奖励(Scanner运用,elseif判断运用)

根据小明不同的期末考试成绩给予不同的奖励(Scanner运用,elseif判断运用)代码:package com.liangrui;import javax.crypto.spec.PSource;import java.util.Scanner;/** * 功能描述: 根据小明不同的期末考试成绩给予不同的奖励 * 奖励: * 95-100 山地自行车一辆 * 90-94 游乐场玩一次 * 80-89 变形金刚玩具一个

2021-03-11 23:20:12 2676 2

原创 java实现判断一个整数是奇数还是偶数(Scanner运用,if判断运用,%求余运用)

判断一个整数是奇数还是偶数(Scanner运用,if判断运用,%求余运用)代码:package com.liangrui;import java.util.Scanner;/** * 功能描述: 判断一个整数是奇数还是偶数 * * @Author 良睿 * @Datetime 2021/3/11 22:27 */public class IfTest { public static void main(String[] args) { //采用键盘输入

2021-03-11 22:42:37 10431 1

原创 java实现三个和尚比较身高,得到最高的身高,单位:厘米(Scanner运用,三元运算符运用)

三个和尚比较身高,得到最高的身高,单位:厘米(Scanner运用,三元运算符运用)代码package com.liangrui;import java.util.Scanner;/** * 功能描述: 三个和尚比较身高,得到最高的身高,单位:厘米 * * @Author 良睿 * @Datetime 2021/3/11 21:15 */public class ScannerTest { public static void main(String[] args) {

2021-03-11 22:05:48 1595

原创 所有有关html的知识点超详细总结(永久不间断更新!!!)

1.<!DOCTYPE html>的作用1.定义: DOCTYPE标签是一种标准通用标记语言的文档类型声明,它的目的是要告诉标准通用标记语言解析器;2.作用: 声明文档的解析类型(document.compatMode),避免浏览器使用自己的怪异模式。CSS1Compat:标准模式,浏览器使用W3C的标准解析渲染页面。BackCompat:怪异模式,浏览器使用自己的怪异模式解...

2020-03-04 18:14:26 333

原创 springboot配置使用redis及其使用

1.导入依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId></dependency>2.在Application.class配...

2020-03-04 15:57:34 445

原创 springboot配置数据库密码加密

1.导入依赖<!-- 加密依赖 --><dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>3.0.2</...

2020-03-04 15:13:56 15720 9

原创 Nginx设置上传文件大小限制

Nginx设置上传文件大小限制点击->Nginx设置上传文件大小限制

2020-02-21 12:42:49 1512

原创 java实现文件分割与合并(完美版)

代码package com.liangrui.javebase.base002;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundExce...

2020-01-19 18:05:51 6896 7

原创 输入一个日期,在控制台输出日历

演示代码Calendar比较难理解的误区:可以看这篇文章->连接/** * */package com.liangrui.javebase;import java.text.DateFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calen...

2020-01-10 01:58:17 752

原创 Calendar最大最难理解的误区

Calendar最大最难理解的误区,通过代码输出得到真正的结果,恍然大悟代码演示:package com.liangrui.javebase;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;/** * @author liangrui * @date 2020年...

2020-01-10 01:50:52 447

原创 使用jstack快速寻找死循环和死锁的原因

代码演示死循环使用步骤:1.运行服务器,使用浏览器多个窗口同时访问此路径(注意:因为多个死循环会导致电脑cpu高速运行,运行小心电脑会卡顿,测试完即可关闭)2.cmd输入jps -l命令查询服务器对应的pid3.cmd输入jstack pid > pid.txt命令,将进程运行过程存储在pid.txt中,查看此文件即可了解哪里发生了死循环死锁使用步骤:1.运行服...

2020-01-05 23:13:29 434

原创 JVM演示(堆内存:heap)溢出和(非堆内存:Metaspace)溢出。并使用MAT工具读取dump中hprof文件,从而找到内存溢出的原因

1.创建User类,用于演示堆内存溢出package com.zr.monitor_tuning.chapter2;/** * @version: 1.0.0 * @Description: User类 * @author: ZR * @date: 2020年1月5日 下午7:56:50 */public class User { private int id; privat...

2020-01-05 21:22:31 2090

原创 java的FutureTask代码例子讲解

FutureTask:FutureTask其实相当于是对Callable和Runnable的整合在实际开发过程中,将那些耗时较长,且可以并行的操作都封装成一个FutureTask。package com.zr.concurrency.test.others;import lombok.extern.slf4j.Slf4j;import java.util.concurrent.Cal...

2020-01-03 16:45:21 307

原创 java并发容器代码讲解(ConcurrentHashMap和ConcurrentSkipListMap)

1.ConcurrentHashMapConcurrentHashMap是Java中的一个线程安全且高效的HashMap实现,处理高并发与ConcurrentSkipListMap相比:ConcurrentHashMap底层使用的是哈希表,ConcurrentSkipListMap使用的是红黑树优点:ConcurrentHashMap性能和存储空间优于ConcurrentSkipListM...

2020-01-03 14:16:52 206

原创 java不可变对象讲解

1.使用基本的final创建:数据类型变量不可被修改,但是引用类型变量仍然可以被修改,线程不安全package com.zr.concurrency.test.notsafe.immutable;import com.zr.concurrency.annotation.ThreadNotSafe;import lombok.extern.slf4j.Slf4j;import java....

2020-01-01 14:23:25 225

原创 使用枚举创建单例(线程最安全)

这里使用的@ThreadSafe和@Recommend是我个人自定义的注解,表示线程安全和推荐使用package com.zr.concurrency.test.safe.singleton;import com.zr.concurrency.annotation.Recommend;import com.zr.concurrency.annotation.ThreadSafe;/**...

2019-12-31 20:56:46 155

原创 为什么有了AtomicLong还要使用AtomicLongFieldUpdater,代码示例使用AtomicLongFieldUpdater

因为当需要进行原子限定的属性所属的类会被创建大量的实例对象,如果用AtomicLong每个实例里面都要创建AtomicLong对象,从而多出内存消耗,显然是不合适的。因此出现了AtomicLongFieldUpdater(原子字段更新器),仅需要在抽象的父类中声明一个静态的更新器,就可以在各个对象中使用了。AtomicLongFieldUpdater: 基于反射的实用工具,可以对指定类的...

2019-12-29 22:47:13 1623

原创 java并发测试:线程安全与线程不安全,使用AtomicLong和LongAdder演示代码保证线程安全

1.使用基础变量int(线程不安全)package com.zr.concurrency.test;import com.zr.concurrency.annotation.ThreadNotSafe;import lombok.extern.slf4j.Slf4j;import java.util.concurrent.CountDownLatch;import java.util...

2019-12-29 18:30:57 1031

原创 针对小数据集和大数据集计算出漂亮数(谷歌面试题)

1.小数据集:这里表示小于2^31-1的正整数。2.大数据集:大于2^31-1的正整数。3.为何分出大数据集和小数据集:因为解决小数据集的算法当遇到大数量数据时,往往无法解决4.何为漂亮数:输入的数被漂亮数求的余每一位都为1以下为分别解小数据集和大数据集的java代码:1.解小数据集package com.zr.demo;import java.util.Scanner;...

2019-12-27 10:38:28 477

原创 从一系列数中选取n个数做为一个组合,得到全部的组合并输出

组合类Combinations.javapackage com.zr.demo;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** @version: 1.0.0 * @Description: 生成所有组合并输出它们 * @author: ZR * @date: 2019年1...

2019-12-25 22:51:56 467

原创 自定义链表并实现链表反转(面试:分别使用递归和循环并进行比较)

自定义节点类Node.java,用于创建链表package com.zr.demo;/** * @version: 1.0.0 * @Description: 节点类,用于创建链表 * @author: ZR * @date: 2019年12月25日 下午8:12:11 */public class Node<T> { private final T value;...

2019-12-25 20:38:48 190

原创 java实现数据结构14(哈希表详解代码之自定义哈希表)

自定义哈希表import java.util.TreeMap;/** * @description: 自定义动态哈希表 * @author: liangrui * @create: 2019-12-24 18:30 **/public class HashTable<K,V> { //最大冲突数 private static final int upp...

2019-12-25 00:09:41 439

原创 java实现数据结构13(红黑树详解代码之自定义红黑树)

自定义红黑树import com.sun.org.apache.regexp.internal.RE;/** * @description: 自定义红黑树 * @author: liangrui * @create: 2019-12-24 13:50 **/public class RedBlackTree<K extends Comparable<K>,V&gt...

2019-12-24 14:46:22 245

原创 java实现数据结构12(AVLTree详解代码之自定义AVLTree)

AVLTreeimport java.util.ArrayList;/** * @description: AVLTree是具有调节二分搜索树平衡的树,使得二分搜索树保持左右深度差的绝对值不超过1 * @author: liangrui * @create: 2019-12-23 21:34 **/public class AVLTree<K extends Comparab...

2019-12-24 11:05:54 131

原创 java实现数据结构11(并查集详解代码之自定义并查集)

并查集接口/** * @description: 自定义并查集接口 * @author: liangrui * @create: 2019-12-19 13:22 **/public interface UnionFind { /** * 获取元素个数 * @return */ int getSize(); /** *...

2019-12-19 18:05:01 114

原创 java实现数据结构10(字典树详解代码之自定义字典树)

自定义字典树import java.util.TreeMap;/** * @description: 自定义字典树,字典树对于巨量级的数据处理效率非常高,因为他的处理与处理数据的量没有关系 * @author: liangrui * @create: 2019-12-18 21:41 **/public class Trie { private class Node{ ...

2019-12-19 00:18:33 341

原创 java实现数据结构09(线段树详解代码之自定义线段树)

融合接口/** * @description: 两个元素融合为一个元素 * @author: liangrui * @create: 2019-12-18 17:38 **/public interface Merger<E> { /** * 融合方法,由用户自定义具体实现 * @param e1 * @param e2 *...

2019-12-18 19:43:03 156

手写SORM框架并测试使用

手写SORM框架并测试使用

2022-01-26

java基础实现手写服务器

java基础实现手写服务器,注意,jdk版本需要大于或等于1.9

2021-10-25

空空如也

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

TA关注的人

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