java
流年师兄要努力りゅう
只要努力,一切皆有可能!
展开
-
java解决雪花算法及超长id精度缺失
现象表的主键是id bigint,用来存储雪花算法生成的ID。create table `test` ( `id` bigint not null comment 'id', `name` varchar(50) comment '名称', `password` varchar(50) comment '密码', primary key (`id`)) engine=innodb default charset=utf8mb4 comment='测试';使用Long 类型对应数据库原创 2021-06-17 14:37:13 · 1405 阅读 · 0 评论 -
情话 23种设计模式
01 工厂方法追 MM 少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是 MM 爱吃的东西,虽然口味有所不同,但不管你带 MM 去麦当劳或肯德基,只管向服务员说「来四个鸡翅」就行了。麦当劳和肯德基就是生产鸡翅的 Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:如何创建及如何向客户端提供。02 建造者模式MM 最爱听的就是「我爱你」这句话了,见到不同地方的 MM,要能够用她们的方转载 2021-03-20 17:13:43 · 355 阅读 · 0 评论 -
Redis的常用工具类
package com.liu.utils;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.stereotype.Component;import org.springframework.util.CollectionUtils;import java.ut原创 2021-03-16 19:55:33 · 222 阅读 · 0 评论 -
jvm GC 面试题 总结
CMS 和G1 的 区别CMS收集器CMS(Concurrent Mark Sweep)收集器是一种以获取最短回收停顿时间为目标的收集器,基于并发“标记清理”实现,在标记清理过程中不会导致用户线程无法定位引用对象。仅作用于老年代收集。它的步骤如下:初始标记(CMS initial mark):独占CPU,stop-the-world, 仅标记GCroots能直接关联的对象,速度比较快;并发标记(CMS concurrent mark):可以和用户线程并发执行,通过GCRoots Tracing原创 2021-03-15 10:05:14 · 380 阅读 · 0 评论 -
log4j基本配置
#将等級DEBUG的日志信息輸出到console和file込襾↑目的地,console 和file的定文在下面的代log4j.rootLogger=DEBUG,console,filelog4j.appender.console=org.apache.log4j.ConsoleAppenderlog4j.appender.console.Target=System.outlog4j.appender.console.Threshold=DEBUGlog4j.appender.console.lay原创 2021-01-17 17:13:49 · 198 阅读 · 0 评论 -
解决将配置文件无法正常导出或生效的问题
pom.xml <build> <resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.properties</include>原创 2021-01-16 16:27:10 · 408 阅读 · 0 评论 -
monggodb 视图化工具 studio 3t for mac
链接:https://pan.baidu.com/s/1AzNMoYky62z8SNLVTB17bg 提取码:z808studio 3t 跟其他的 开发软件公司不一样,它不会让下载历史版本,所以找的很费事,自己保存了以前的版本及包,方便大家使用使用教程很多,基本用过的软件的都知道如何使用,具体就不细说了,直接上图本人不确定能否在 macOS Big Sur 这个版本上使用,以前的版本是没有问题的。其他一个软件是也是nosql 可视化工具,虽然是收费的工具,但是这个即使过期了,免费版基本也足够正原创 2020-12-09 15:51:42 · 956 阅读 · 0 评论 -
docker搭建XXLjob
最近需要使用到调用系统,为了方便管理,直观,所以推荐使用xxljob官方链接:xxl-job-admin开始本文的主题,如果根据本文操作,前提是要安装 docker一 安装mysql(使用yum或者docker安装的都可以,以下使用的是docker)root@localhost tmp]# docker run -itd --name xxl-mysql -p 3306:3306 -e M...原创 2020-03-19 10:27:29 · 2305 阅读 · 2 评论 -
Java 自学的成长路径
本文说的是一些不错的书籍,有利于提高成长的《深入理解Java虚拟机:JVM高级特性与最佳实践》如果你不满足于做一个只会写if…else…的Java程序员,而是希望更进一步,我随便举几个例子吧:1、了解Java代码的底层运行机制2、定位性能问题3、对整个系统进行性能调优4、解决各种奇奇怪怪的线上线下问题5、更加高级别的,为自己的项目量身定做一款适合自己项目的虚拟机那么Java虚拟机是你必学的一门技术。原创 2017-07-25 17:01:26 · 769 阅读 · 0 评论 -
java 之 JavaBean与Jsp
什么是JavaBeanJavaBean是一个遵循特定写法的Java类,它通常具有如下特点:这个Java类必须具有一个无参的构造函数字段必须私有化。私有化的字段必须通过public类型的方法暴露给其它程序,并且方法的命名也必须遵守一定的命名规范。虽然Sun公司在定义JavaBean规范时,允许Java开发人员把JavaBean设计得可以像Swing组件一样功能强大,但在实际的J2EE开发中,通原创 2016-11-20 20:35:33 · 599 阅读 · 0 评论 -
java 之 JSP技术
什么是JSP?JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术。JSP/Servlet规范。JSP实际上就是Servlet。JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比html而言,html只能为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。Jsp快速入门:在jsp页原创 2016-11-19 16:43:43 · 782 阅读 · 0 评论 -
java 之 会话管理
会话问题:什么是会话? 会话可简单理解为:用户开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话。会话过程中要解决的一些问题?每个用户在使用浏览器与服务器进行会话的过程中,不可避免各自会产生一些数据,程序要想办法为每个用户保存这些数据。例如:用户点击超链接通过一个servlet购买了一个商品,程序应该想办法保存用户购买的商品,以便于用户点结帐原创 2016-11-19 16:24:00 · 782 阅读 · 0 评论 -
java 之 request&response
简介Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象、和代表响应的response对象。request和response对象即然代表请求和响应,那我们要获取客户机提交过来的数据,只需要找request对象就行了。要向容器输出数据,只需要找response对象就行了。HttpServletResponseresponse常见应用向客户端输出中文数原创 2016-11-19 16:13:17 · 707 阅读 · 0 评论 -
java 之 Servlet
Servlet简介Servlet是sun公司提供的一门用于开发动态web资源的技术。Sun公司在其API中提供了一个servlet接口,用户若想开发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:编写一个Java类,实现servlet接口。把开发好的Java类部署到web服务器中。快速入门,用servlet向浏览器输出“hello servlet”阅读S原创 2016-11-19 16:03:45 · 686 阅读 · 0 评论 -
java 之 HTTP协议
HTTP简介WEB浏览器与WEB服务器之间的一问一答的交互过程必须遵循一定的规则,这个规则就是HTTP协议。HTTP是HyperText Transfer Protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程及数据本身的格式。HTTP协议的版本 HTTP/1.0、HTTP/1.1HTTP协议是学习JavaW原创 2016-11-19 15:55:26 · 597 阅读 · 0 评论 -
java 之 javaweb
WEB开发的相关知识WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。Internet上供外界访问的Web资源分为: 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变。 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同。静态web资源开发技术 Htm原创 2016-11-19 15:49:23 · 697 阅读 · 0 评论 -
java 之 面向对象思想设计原则及常见设计模式
面向对象思想设计原则面向对象思想设计原则 在实际的开发中,我们要想更深入的了解面向对象思想,就必须熟悉前人总结过的面向对象的思想的设计原则 单一职责原则 开闭原则 里氏替换原则 依赖注入原则 接口分离原则 迪米特原则单一职责原则其实就是开发人员经常说的”高内聚,低耦合”也就是说,每个类应该只有一个职责,对外只能提供一种功能,而引起类变化的原原创 2016-11-19 15:27:45 · 779 阅读 · 0 评论 -
JAVA 之 基础语法(二)
java 方法概述方法概述: 假设有一个游戏程序,程序在运行过程中,要不断地发射炮弹(植物大战僵尸)。发射炮弹的动作需要编写100行的代码,在每次实现发射炮弹的地方都需要重复地编写这100行代码,这样程序会变得很臃肿,可读性也非常差。为了解决代码重复编写的问题,可以将发射炮弹的代码提取出来放在一个{}中,并为这段代码起个名字,这样在每次发射炮弹的地方通过这个名字来调用发射炮弹的代码就可以了。上原创 2016-11-19 10:51:05 · 408 阅读 · 0 评论 -
JAVA 之 面向对象
面向过程思想概述面向对象思想概述 面向对象是基于面向过程的编程思想面向对象思想特点 是一种更符合我们思想习惯的思想 可以将复杂的事情简单化 将我们从执行者变成了指挥者 角色发生了转换面向对象思想举例面向对象思想举例 买电脑 吃饭 洗衣服 万事万物皆对象面向过程思想和面向对象思想的代码举例 把大象装进冰箱面向对象开原创 2016-11-19 11:10:03 · 412 阅读 · 0 评论 -
java 之 面向对象(二)
继承概述继承概述 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。通过extends关键字可以实现类与类的继承 class 子类名 extends 父类名 {} 单独的这个类称为父类,基类或者超类;这多个类可以称为子类或者派生类。有了继承以后,我们定义一个类的时候,可以在一个已经存在的类的基础上,还可以定义自原创 2016-11-19 11:32:18 · 408 阅读 · 0 评论 -
java 之 工具(Eclipse)
Java开发常见工具介绍A:操作系统自带的记事本软件B:高级记事本软件C:集成开发环境 IDE (Integrated Development Environment)Eclipse的概述Eclipse是一种可扩展的开放源代码的IDE。Eclipse的特点描述 免费 纯Java语言编写 免安装 扩展性强MyEclipse 在Eclipse基础原创 2016-11-19 11:50:00 · 399 阅读 · 0 评论 -
JAVA 之 API-常用类
常用类Object类/Scanner类String类/StringBuffer类/StringBuilder类数组高级和Arrays类基本类型包装类(Integer,Character)正则表达式(Pattern,Matcher)Math类/Random类/System类BigInteger类/BigDecimal类Date类/DateFormat类/Calendar类API概述AP原创 2016-11-19 12:10:50 · 478 阅读 · 0 评论 -
java 之 API-集合
集合类概述为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,Java就提供了集合类。数组和集合类同是容器,有何不同? 数组虽然也可以存储对象,但长度是固定的;集合长度是可变的。数组中可以存储基本数据类型,集合只能存储对象。集合类的特点 集合只用于存储对象,集合长度是可变的,集合可以存储不同类型的对象。Collection接口概述原创 2016-11-19 12:51:56 · 516 阅读 · 0 评论 -
java 之 API-IO
异常概述异常:异常就是Java程序在运行过程中出现的错误。异常由来:问题也是现实生活中一个具体事务,也可以通过java 的类的形式进行描述,并封装成对象。其实就是Java对不正常情况进行描述后的对象体现。我们见过的异常,角标越界异常,空指针异常JVM的默认处理方案把异常的名称,错误原因及异常出现的位置等信息输出在了控制台程序停止执行异常处理方案异常处理方案try…catch…finall原创 2016-11-19 13:13:08 · 651 阅读 · 0 评论 -
java 之 API-多线程
多线程概述多线程概述进程: 正在运行的程序,是系统进行资源分配和调用的独立单位。 每一个进程都有它自己的内存空间和系统资源。线程: 是进程中的单个顺序控制流,是一条执行路径 一个进程如果只有一条执行路径,则称为单线程程序。 一个进程如果有多条执行路径,则称为多线程程序。java程序运行原理Java程序运行原理java 命令会启动 java 虚拟机,启动原创 2016-11-19 13:27:35 · 559 阅读 · 0 评论 -
java 之 面向对象思想设计原则及常见设计模式
面向对象思想设计原则面向对象思想设计原则在实际的开发中,我们要想更深入的了解面向对象思想,就必须熟悉前人总结过的面向对象的思想的设计原则单一职责原则开闭原则里氏替换原则依赖注入原则接口分离原则迪米特原则面向对象思想设计原则单一职责原则其实就是开发人员经常说的”高内聚,低耦合”也就是说,每个类应该只有一个职责,对外只能提供一种功能,而引起类变化的原因应该只有一个。在设计模式中,所有原创 2016-11-19 15:02:33 · 603 阅读 · 0 评论 -
java 之 API-GUI
GUI(图形用户界面)GUI Graphical User Interface(图形用户接口)。 用图形的方式,来显示计算机操作的界面,这样更方便更直观。CLI Command line User Interface (命令行用户接口) 就是常见的Dos命令行操作。 需要记忆一些常用的命令,操作不直观。awt和swing包的概述java.awt:Abstr原创 2016-11-19 15:07:05 · 1165 阅读 · 0 评论 -
java 之 API-网络编程
网络编程概述计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程 就是用来实现网络互连的不同计算机上运行的程序间可以进行数据交换。网络模型计算机网络之间以何种规则进行通信,就是网络模型研究问题。网络模型一般是指 OSI(Open原创 2016-11-19 15:15:01 · 1063 阅读 · 0 评论 -
java 之 类加载器和反射
类的加载类的加载 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。加载 就是指将class文件读入内存,并为之创建一个Class对象。 任何类被使用时系统都会建立一个Class对象。连接 验证 是否有正确的内部结构,并和其他类协调一致 准备 负责为类的静态成员分配内存,并设置默认初始化值原创 2016-11-19 15:19:56 · 674 阅读 · 0 评论 -
java 之Java基础增强(新特性)
JDK5新特性自动装箱和拆箱泛型增强for循环静态导入可变参数枚举枚举枚举概述 是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内。举例:一周只有7天,一年只有12个月等。 回想单例设计模式:单例类是一个类只有一个实例 那么多例类就是一个类有多个实例,但不是无限个数的实例,而是有限个数的实例。这才能是枚举类。通过自己定义一个枚举类来演示案例第一版第二原创 2016-11-19 15:23:20 · 571 阅读 · 0 评论 -
JAVA 之 java基础语法
java关键字关键字概述 被Java语言赋予特定含义的单词关键字特点 组成关键字的字母全部小写关键字注意事项 goto和const作为保留字存在,目前并不使用 类似Notepad++这样的高级记事本,针对关键字有特殊的颜色标记,非常直观 java 之 标识符标识符概述 就是给类,接口,方法,变量等起名字时使用的字符序列组成规则 英文大小写字母原创 2016-11-13 19:38:04 · 1506 阅读 · 0 评论