自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 踩坑日记-Oracle 数据库管理员SYS/SYSTEM密码忘记怎么办?

Oracle 数据库管理员SYS/SYSTEM密码忘记怎么办?

2024-04-26 11:51:44 150

原创 开发日记-nodejs版本控制器nvm

nodejs版本控制工具windows教程

2024-04-16 15:18:01 180

原创 JVM 面试——G1和ZGC的区别

G1和ZGC的区别

2024-03-11 14:25:57 565

原创 JVM 面试题——CMS和G1的区别

CMS和G1的区别

2024-03-11 14:24:32 605

原创 踩坑日记-Feign通过get请求报错 method get must not have a request body

Feign通过get方式请求,请求体中带@RequestBody报错处理

2024-02-04 15:56:27 484

原创 开发日记-navicate操作快捷键

4. Ctrl+Shift+R: 只运行选中的sql语句。17. Ctrl +Shift+/: 解除注释。11. Ctrl+N: 打开一个新的查询窗口。14. Ctrl+W: 关闭当前查询窗口。8. Ctrl+L: 删除选中行内容。2. Ctrl+T:新建查询窗口。3. Ctrl+R:运行查询语句。9. Ctrl+C:复制选中内容。13. Ctrl+G:转到指定行。10. Ctrl+V:粘贴内容。12. Ctrl+F:查找内容。15. Ctrl+H:替换内容。6. Ctrl+Z:撤销操作。

2023-12-20 14:54:25 447

转载 将XMind装到C盘之外(转)

2022-03-17 16:16:23XMind目前安装只能默认到C盘,虽然不会占用特别大空间,但是真的让我很不爽了,因此找到了这种可以将XMind装到别的盘的方法,也是在网上看到的,记录分享一下。1、win + R 打开运行,输入regedit,2、一路找到:“计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion”这个路径3、XMind的默认安装路径是 ProgramFilesDir,因此我们修改这个,双击打开,这个C

2023-11-28 14:25:38 1078 2

原创 RocketMQ Windows环境下启动导致C盘爆满原因及解决办法

RocketMQ Windows环境下启动导致C盘爆满原因及解决办法

2023-07-20 09:52:00 783

原创 开发日记-easyExcel结合zip批量导出

easyExcel填充模板方式结合zip批量导出

2023-06-01 15:17:00 965

原创 开发日记-sublime3安装插件问题

There are no packages available for installation问题解决

2023-02-01 14:38:05 374

原创 踩坑日记-‘packaging‘ with value ‘jar‘ is invalid. Aggregator projects require ‘pom‘ as packaging.@...

maven报错:'packaging' with value 'jar' is invalid. Aggregator projects require 'pom' as packaging

2023-01-31 10:28:43 2057

原创 开发日记-ORACLE笔记(持续补充)

oracle 小技巧 sql脚本

2022-11-03 19:28:24 149

原创 Java实现求二叉树的深度和宽度

Java实现求二叉树的深度和宽度

2022-02-17 09:17:20 620

原创 开发日记——CountDownLatch同步数据

业务背景这次的业务场景是公司的旧系统使用单线程同步接口,而需要同步的数据量已经逐渐扩大到几十万上百万,导致同步一次数据需要将近半天时间。对此我想到使用多线程优化系统。CountDownLatch概念CountDownLatch是一个同步工具类,它允许一个或多个线程一直等待,直到其他线程执行完后再执行。例如,应用程序的主线程希望在负责启动框架服务的线程已经启动所有框架服务之后执行。简单来说就是我准备线程池让程序自动分配每个线程执行的任务,虽然执行顺序是乱序的,但保证了任务唯一。

2022-02-16 14:13:32 302

原创 开发日记——centos定时任务

由于采购试用的系统不稳定,需要不时重启,在我不在的时候遇到问题没法处理,所以我打算在服务器上加个定时任务重启应用服务。说到centos上最常用的定时任务应该就是crontab了,我这里记录下使用步骤和遇到的问题。安装一般情况下crond、crontab是安装好的,如果你的服务器上没有crontab,直接用yum去安装crond或者crontab因为你会发现找不到包,其实这个包应该是cronie。yum install -y cronie常用命令...

2021-10-21 10:29:51 608

原创 Java 程序该怎么优化?(技巧篇)(转)

搬砖者:为什么程序总是那么慢?它现在到底在干什么?时间都花到哪里去了?面试官:简单谈谈 Java 程序性能优化?1.字符串处理优化,乃优化之源。研发过程中,String 的 API 用的应该是最多,创建 String 对象,以及字符串分割处理那是常有的事儿。1.1.字符串分割,谁更胜一筹?字符串分割,常用的方式有哪些?哪种方式好一些?方式一,经常用 String 提供的 split() 方法来满足业务需求。代码模拟了一些数据,然后程序跑起来,花费大约 3000 ...

2021-09-09 15:14:27 225

原创 记录-JSON转Map的简单方法模板(转)

public Map<String, String> toMap(Object object) {Map<String, String> data = new HashMap<String, String>();// 将json字符串转换成jsonObjectJSONObject jsonObject = JSONObject.fromObject(object);Iterator ite = jsonObject.keys();/...

2021-08-16 16:14:22 106

原创 开发日记——th:field=“*{}“中日期格式化问题

th:field:"*{}"中日期格式化问题情景        我在写表单修改时需要通过th:field获取库中的数据,有一个字段是date日期类型,由于插入时没做日期规范,导致读取的日期数据格式难读。使用thymeleaf日期格式化        Thymeleaf中日期格式化使用的是#dates.format('字段名','日期格式(

2021-07-30 09:39:04 2189

原创 踩坑日记——Oracle 错误:ORA-22922 不存在的 LOB 值

今天在系统中测试导出报表的时候,根据人名、工号、单据号、项目等条件分别导出都没有出现问题,唯独无条件导出时报以下错误:Oracle 错误:ORA-22922 不存在的 LOB 值根据报错信息进行排查,发现是这句SQL出现了问题to_char(wm_concat(distinct('字段名'))) as字段名 直接无条件查询会报错,加上where 1=1 order by ***可以通过,但是这样又会导致查询条件置于这句order by之后导致报错ORA-0...

2021-07-13 14:47:09 3035 1

原创 开发日记——跨域访问

开发背景:        一个hibernate+JPA的系统功能拓展,要求与另一个部门的同种系统进行交互,而两个系统开发时都没有做外部扩展的接口设计。        虽说是两个同样的系统,但由于部门不同地域不同等因素,要求得有数据权限。而这个系统当初设计开发时就没有预留外部扩展的计划,所以不能共用同一个数据库,而是直接分成两个系统对需要的数

2021-05-20 14:43:07 156

原创 开发日记-Oracle数据库语句实现:借用归还公式

开发背景:        最近公司的一个仓库系统中有新需求如下:借用样品后根据借用单查询借用数量、归还数量并计算剩余未归还数量。        借用数量在建立借用单的时候就以及确定,归还是可以分开多次部分归还,这个查询要做到查询到同一张借用单的所有归还数据,同时每一条数据要显示根据每次归还的数量计算剩余未归还的数量。  .

2021-05-10 11:55:56 455

原创 JVM学习之——JMM(内存模型)

文章目录《深入理解Java虚拟机》和《Java并发编程的艺术》

2021-05-06 16:57:15 194

原创 设计模式之——命令模式(Command)

定义命令(Command)模式的定义如下:将一个请求封装为一个对象,使发出请求的责任和执行请求的责任分割开。这样两者之间通过命令对象进行沟通,这样方便将命令对象进行储存、传递、调用、增加与管理。主要优点通过引入中间件(抽象接口)来降低系统的耦合度。扩展性较好,增加或者删除命令非常方便。增加与删除命令不会影响其他类,且满足“开闭原则”。方便实现 Undo 和 Redo 操作。命令模式可以与后面介绍的备忘录模式结合,实现命令的撤销与恢复。扩展各种软件中的菜单都是通过命令模式对命令进行封装使用

2021-04-23 13:19:58 120

原创 设计模式之——备忘录模式(Memento)

定义备忘录(Memento)模式的定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。实现Gof书中的代码实现方法如下:public class MementoPattern { public static void main(String[] args) { Originator or = new Originator(); Caretaker cr =

2021-04-21 11:38:07 96

原创 设计模式之——适配器模式(Adapter)

概念定义适配器模式(Adapter) 的定义如下:将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类能一起工作。适配器模式分为类结构型模式和对象结构型模式两种,前者类之间的耦合度比后者高,且要求程序员了解现有组件库中的相关组件的内部结构,所以应用相对较少些。        简单举个例子:在智能手机兴起之前手机的种类是各式各样的,其充电接口也是不尽相同。当手机在外没电想要借用充电器

2021-04-20 10:50:37 118

原创 设计模式之——解释器模式(Interpreter)

定义实现应用

2021-04-20 10:50:17 168

原创 设计模式之——模板方法模式(TemplateMethod)

定义模板方法(Template Method)模式的定义:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。所谓的模板方法模式实际上就是钩子函数。实现使用代码举例:首先抽象一个模板对象Methods用于管理方法:abstract class Methods { void template() { method1(); method2(); } abstract

2021-04-15 19:00:42 127

原创 设计模式之——状态模式(State)

定义状态(State)模式的定义:对有状态的对象,把复杂的“判断逻辑”提取到不同的状态对象中,允许状态对象在其内部状态发生改变时改变其行为。        当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。简单的说就是:根据状态决定行为应用&实现        在我们以前写代码,遇到根据对象状态要做判断时通

2021-04-14 10:35:53 217 1

原创 设计模式之——原型模式(Prototype)

定义原型(Prototype)模式的定义:用一个已经创建的实例作为原型,通过复制该原型对象来创建一个和原型相同或相似的新对象。在这里,原型实例指定了要创建的对象的种类。用这种方式创建对象非常高效,根本无须知道对象创建的细节。应用        在开发系统时可能存在大量相同或相似对象的创建,如果用传统的构造函数来创建对象,会比较复杂且耗时耗资源。若是将这些差不多的对象都由同一个原型模板复制后加以修改,就可以解决上述问题

2021-04-13 11:46:14 105

原创 设计模式之——桥接模式(Bridge)

定义        桥接模式即将抽象部分与它的实现部分分离开来,使他们都可以独立变化。抽象化:        其概念是将复杂物体的一个或几个特性抽出去而只注意其他特性的行动或过程。在面向对象就是将对象共同的性质抽取出去而形成类的过程。实现化:       &nbs

2021-04-11 17:37:58 203

原创 设计模式之——访问者模式(Visitor)

文章目录访问者模式定义特点应用代码讲解使用场景编译器访问者模式定义访问者(Visitor)模式的定义:将作用于某种数据结构中的各元素的操作分离出来封装成独立的类,使其在不改变数据结构的前提下可以添加作用于这些元素的新的操作,为数据结构中的每个元素提供多种访问方式。它将对数据的操作与数据结构进行分离,是行为类模式中最复杂的一种模式。         简单来说就是在结构不发生改变的情况下对于内部元素进行动态改变的动作。与

2021-04-10 18:34:33 147

原创 设计模式之——策略模式

文章目录策略模式(Strategy)定义应用情景使用comparable优化策略模式结构优点:策略模式(Strategy)定义策略(Strategy)模式的定义: 该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于对象行为模式,它通过对算法进行封装,把使用算法的责任和算法的实现分割开来,并委派给不同的对象对这些算法进行管理。应用情景只看这些理论比较难理解,我通过java程序来举例子:public class Main { p

2021-04-09 15:47:58 72

原创 设计模式之——建造者模式(Builder)

概念定义建造者(Builder)模式的定义:指将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式。它是将一个复杂的对象分解为多个简单的对象,然后一步一步构建而成。        它将变与不变相分离,即产品的组成部分是不变的,但每一部分是可以灵活选择的。特点封装性好,构建和表示分离。扩展性好,各个具体的建造者相互独立,有利于系统的解耦。客户端不必知道产品内部组成的

2021-04-01 19:14:59 120

原创 设计模式之——迭代器模式(Iterator)

概念定义迭代器(Iterator)模式的定义: 提供一个对象来顺序访问聚合对象中的一系列数据,而不暴露聚合对象的内部表示。特点        迭代器模式是通过将聚合对象的遍历行为分离出来,抽象成迭代器类来实现的,其目的是在不暴露聚合对象的内部结构的情况下,让外部代码透明地访问聚合的内部数据。迭代器模式具有以下优点:访问一个聚合对象的内容而无须暴露它的内部表示。遍历任务交由迭代器完成,这简化了聚合类。它支持以不同

2021-03-31 20:44:55 131

原创 设计模式之——代理模式(Proxy)

文章目录代理模式静态代理定义代码讲解特点动态代理定义代码讲解动态代理机制及特点其他实现代理模式代理模式(Proxy) 的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。        简单地说就是我们实际访问目标是通过代理对象来间接访问的,代理就是对目标方法进行增强。静态代理定义   

2021-03-30 20:19:35 130

原创 设计模式之——观察者模式(Observer)

文章目录概念定义结构应用场景实现java.awt.event.*钩子函数概念定义观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。结构观察者模式的主要角色如下:抽象主题(Subject)角色:也叫抽象目标类,它提供了一个用于保存观察者对象的聚集类和增加、删除观察者对象的方法,以及通知所有观察者的抽象方法。具体主题(Concrete

2021-03-28 11:10:01 224

原创 设计模式之——组合模式(Composite)与享元模式(Flyweight)

定义组合(Composite Pattern)模式的定义: 它是一种将对象组合成树状的层次结构的模式,用来表示“整体-部分”的关系,使用户对单个对象和组合对象具有一致的访问性,属于结构型设计模式。树状结构专用模式, 有时又叫作整体-部分(Part-Whole)模式        组合模式一般用来描述整体与部分的关系,它将对象组织到树形结构中,顶层的节点被称为根节点,根节点下面可以包含树枝节点和叶子节点,树枝节点下面又可

2021-03-27 18:20:45 126

原创 设计模式之——责任链模式

文章目录责任链模式定义应用场景代码讲解扩展中断责任链请求与相应责任链模式定义责任链(Chain of Responsibility) 模式的定义:为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。责任链模式包含了一些命令对象和一些处理对象,每个处理对象决定它能处理那些命令对象,并把自己不能处理的命令对象交下一个处理对象,同时可以在该链中扩展新的处理对象方法。责任链模式也叫

2021-03-27 17:21:04 186

原创 设计模式之——装饰器模式(Decorator)

文章目录定义应用场景定义装饰器模式(Decorator Pattern) 允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。        这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。应用场景老规矩举个栗子:       &nbsp

2021-03-25 20:49:21 122

原创 设计模式之——外观模式(Facade)和中介者模式(Mediator)

文章目录外观模式(Facade)定义使用场景外观模式(Facade)定义Facade(外观) 模式为子系统中的各类(或结构与方法)提供一个简明一致的界面,隐藏子系统的复杂性,使子系统更加容易使用。它是为子系统中的一组接口所提供的一个一致的界面。使用场景        在开发过程中功能和接口的不断扩展、子系统慢慢变得繁多时,在各个类之间的联系会变得比较复杂。这时候就需要用到Facade模式,创建一个用于对外打交道的“大管

2021-03-25 20:14:11 631

空空如也

空空如也

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

TA关注的人

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