- 博客(27)
- 收藏
- 关注
原创 原型模式(创建型)
原型模式定义适用场景优点缺点浅克隆(拷贝引用)存在的问题深克隆(拷贝值)定义原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象,调用者不需要知道任何创建细节,不调用构造函数适用场景1.类初始化消耗资源多2.new产生的一个对象需要非常繁琐的过程(数据准备,访问权限等)3.构造函数比较复杂4.循环中生产大量对象时优点性能优良,Java自带,原型模式是基于内存二进制流的拷贝,比直接new对象性能提升很多2.可以使用深克隆方式保存对象的状态,使用原型模式将对象复制一份并将
2022-04-26 23:02:42
696
原创 html格式化JSON数据并显示,小驼峰首字母大写分隔显示
/*css*/.string { color: green;}.number { color: darkorange;}.boolean { color: blue;}.null { color: magenta;}.key { color: red;}// 去除JSON字符串中key的雙引號和冒號function removeQuotesAndColon(str){ let reg = new RegExp('\"|:',"g")
2022-04-13 11:43:48
1057
原创 单例模式(创建型模式)
饿汉式单例/** * 优点:执行效率高,性能高 * 缺点:某些情况下可能造成内存浪费 */public class HungrySingleton { private static final HungrySingleton hungrySingleton = new HungrySingleton(); private HungrySingleton(){} private HungrySingleton getInstance(){ return
2022-03-05 23:33:05
378
原创 工厂模式 (创建型)
文章目录简单工厂 (不属于GOF 23种设计模式)定义示例在源码中的应用适用场景简单工厂的优缺点工厂方法模式定义示例在源码中应用适用场景工厂方法模式的优缺点抽象工厂模式定义示例适用场景工厂方法模式的优缺点简单工厂 (不属于GOF 23种设计模式)定义指由一个工厂对象决定创建出哪一种产品类的实例创建型模式,但不属于GOF 23种设计模式示例接口public interface Animal { /** * 动物吃东西的方法 */ void eat()
2021-12-27 16:49:25
481
原创 iReport 5.6.0设置Firebird数据库驱动
从firebird官网下载对应版本驱动 (点此跳转)在IReport工具中: 工具 > 选项 > iReport > Classpath选项卡 > "Add JAR"添加 jaybird-full-3.0.11.jar创建新的数据源Name随便填写JDBC Driver : org.firebirdsql.jdbc.FBDriverJDBC URL :jdbc:firebirdsql://localhost/(fdb文件位置)输入用户名,密码(默认用户名:SYSDB.
2021-12-01 17:45:21
396
原创 MySQL按指定顺序排序
select * from test order by field(status,'0','1','-1')"status"为需要排序的表字段
2021-08-26 16:29:01
159
原创 JS常用日期操作
获取当天零点时间时间戳new Date(new Date().toLocaleDateString()).getTime();获取当天23:59:59时间戳new Date(new Date().toLocaleDateString()).getTime()+(246060*1000-1);日期判断正则:// 当天零点时间var todayStart = new Date(new Date(new Date().toLocaleDateString()).getTime());// YYYY
2020-12-21 16:39:51
314
原创 jar包配置成windows服务
下载WinSW1.将jar包(例: test.jar)和WinSW.NET4.exe放入同一文件夹2.配置文件WinSW.NET4.xml<?xml version="1.0" encoding="utf-8"?><service> <id>test</id> <name>test-service</name> <description>test的描述信息</description> <e
2020-11-04 18:09:36
1623
原创 MyBatis查询List返回数据只有少部分,因为结果去重了
在调用selectList()时,发现只返回3条,而打印的查询结果有40条,这是因为当主键Id重复时MyBatis会自动去重。 现在想做出很少的修改,还能拿到所有结果。可以使用伪列来解决。伪列就是新增一列来代替主键的值。在实体类中新增一个字段/**伪列字段,用来阻止去重*/private Integer rowNo;XML中ID映
2020-08-26 18:30:27
2193
原创 MySQL8.0快速方便的重置密码及过程中遇到的问题
MySQL忘记密码重置用管理员身份进入cmd,进入MySQL的bin目录下cd 你的net stop mysqlmysqld --console --skip-grant-tables --shared-memory(正常的话窗口是会卡在这儿的)新开一个cmd窗口
2020-08-11 10:35:38
421
原创 序列化和反序列化
序列化和反序列化基本概念作用序列化的作用反序列化的作用序列化的优点如何进行序列化Java实现序列化和反序列化注意点基本概念序列化:把Java对象转换位字节序列的过程反序列化:把字节序列恢复为Java对象的过程作用对象状态的保存和重建,过程中核心点就是字节流中所保存的对象状态及描述信息序列化的作用在传递和保存对象时保证对象的可传递性和完整性,将Java对象转换为字节序列便于网络传输或者保存在本地磁盘文件反序列化的作用根据字节序列中保存的对象状态及描述信息,恢复/重建对象序列化的优点将对
2020-07-16 18:12:21
287
原创 并发编程-多线程-意义、使用、生命周期、启动停止
并发编程-基础-多线程并发的发展历史真空管/穿孔打卡晶体管/批处理操作系统集成电路/多道程序设计线程的出现线程是什么为什么需要线程线程在Java中的应用线程的创建多线程的实际应用场景线程池new Tread()线程的生命周期线程的基本操作-启动/停止并发的发展历史真空管/穿孔打卡【工作方式】程序员按照一定规则将程序写到纸上→穿孔打成卡片→由专门人员将卡片放到输入设备,再由专门人员把程序输入到计算机→计算机完成运算,打印结果至打印机→打印机完成输出【问题】:计算机大部分时间处于空闲状态晶体管/
2020-07-06 23:20:55
613
原创 JVM学习-入门
JVM学习记录-Day1一个Java程序是如何跑起来的?类加载机制类加载器一个Java程序是如何跑起来的?(1)源码由javac编译器翻译成类文件(2)类文件通过类加载机制到JVM(3)JVM解释[内部结构、执行方式、垃圾回收、本地调用等]类加载机制虚拟机把Class文件加载到内存,并对数据进行校验,转换解析和初始化,形成可以虚拟机直接使用的Java类型,即 java.lang.Class装载类加载器ClassLoader寻找类所在位置(磁盘、内存、数据库、网络等的全路径)类
2020-06-22 21:55:27
379
原创 JVM学习之垃圾收集器的合理选择
JVM如何选择合适的垃圾收集器?JVM参数标准参数非标准参数(JDK版本变化可能会导致参数变化)-X参数-XX参数如何选择合适的垃圾收集器?评价垃圾收集器的指标:吞吐量、停顿时间除非程序对停顿时间有严格要求(CMS,G1),如果没有让JVM自动选择,如果有必要可以通过调整堆的大小满足性能要求:如果应用程序非常小(100MB内),那么选择:-XX:+UseSerialGC(Serial、SerialOld)如果应用程序是单核处理器 ,并且没有停顿时间的要求,那么让JVM自行选择,或者选择:-XX:
2020-06-20 15:23:38
384
原创 表单序列化,追加字段
<form class="layui-form"> username: <input type="text" name="username"><br> password: <input type="password" name="password"><br></form>serializeArray() 把表单...
2020-01-07 17:07:35
390
原创 Mybatis@Select、foreach
目录foreach属性@Select注解常用查询在@Select中拼写动态SQL语句foreach属性属性描述item循环体中的具体对象。支持属性的点路径访问,如item.age,item.info.details。 具体说明:在list和数组中是其中的对象,在map中是value。 该参数为必选。collection要做foreach的对象,作为入参时,List...
2019-12-16 16:14:23
12966
原创 SpringBoot 之@Transactional事务回滚
目录事务回滚要点回滚方式1. 手动回滚(try/catch)2.自动回滚(直接抛出,不try/catch)3.部分回滚事务回滚在开发过程中,经常会出现一个接口多表插入的情况,当其中一张表插入失败时就需要进行事务回滚了,SpringBoot为我们提供了@Transactional注解来进行事务回滚要点1.需要将使用事务注解的方法设置为public;2.如果没有在注解后做异常配置,只会对手动...
2019-12-13 17:31:33
1331
原创 MySQL判断字符串为NULL或者为空字符串
函数名说明ISNULL(expr)如果expr为null返回值1,否则返回值为0IFNULL(expr1,expr2)如果expr1值为null返回expr2的值,否则返回expr1的值NULLIF(expr1,expr2)如果expr1==expr2返回值为null,否则返回expr1的值;相当于case when expr1=expr2 then null......
2019-11-29 17:37:12
12186
原创 MySQL常用知识点
1、再导入“.sql”文件时报错解决办法也有两种, 第一种是在创建子程序(存储过程、函数、触发器)时,声明为DETERMINISTIC或NO SQL与READS SQL DATA中的一个, 例如: CREATE DEFINER = CURRENT_USER PROCEDURE NewProc() DETERMINISTIC BEGIN #Routine body goes here… ...
2019-10-31 15:39:18
227
原创 JavaScript简介
JavaScript简史JavaScript诞生于1995年,主要目的是处理以前由服务器端语言(如Per)负责的一些输入验证操作由于微软推出JavaScript实现意味着有了两个不同的 JavaScript 版本:Netscape Navigator 中的 JavaScript、Internet Explorer 中的 JScript,在1997年,欧洲计算机制造商协会(ECMA, Euro...
2019-10-08 00:02:03
130
原创 HTML学习笔记
关于超链接属性值描述hrefURL规定链接的目标 URLtarget_blank_parent_self _top framename新窗口打开默认。在相同的框架中打开被链接文档。在父框架集中打开被链接文档。在整个窗口中打开被链接文档。 在指定的框架中打开被链接文档。关于图片属性值描述titletext鼠标移动到图片上时的提...
2019-09-06 08:45:55
135
原创 快速理解Spring中的IoC
IoC(Inversion of Control)首先是百度百科的解释:控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。通过控制反转,对象在被创建的时候,由...
2019-08-22 11:48:23
133
原创 JS常用函数(持续更新)
函数名功能备注match()match() 方法可在字符串内检索指定的值str.match(/ain/gi);查找字符串"ain"不区分大小写isNaN()检查其参数是否为非数值如果参数值为数字值返回 false,其它返回true...
2019-08-21 15:49:41
158
原创 两分钟教你如何将Spring源码导入IDEA
Spring源码导入IDEA精简版详细版下载Spring源码下载Gradle配置Gradle环境配置环境变量编译:导入IEDA精简版1、拉取Spring5.0源码:https://github.com/spring-projects/spring-framework/tree/5.0.x2、下载Gradle:https://gradle.org/next-steps/?version=5.4...
2019-05-30 16:30:36
4057
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人