自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 设计模式在开发实践中的运用

设计模式在开发实践中的运用

2022-11-24 20:44:11 780 2

原创 json schema实际运用

JSON schema 实际运用

2022-08-01 18:54:13 1104

原创 开发问题总结

1.代码切换分支后无法启动?代码切换分支后,无法正常启动,这是因为idea等编辑器依据在之前分支的环境下,你需要在maven中执行clean操作清理旧环境;2.为什么jar包做了改动,但一直无法拉取到最新代码?拉取不到最新jar包,可能是因为idea的maven中没有勾选自动获取最新jarSettings->Maven->勾选Always update snapshots3.页面上线后,有人看到的是旧版,有人看到的是新版?可能是页面有缓存,操作人可以清理浏览器缓存或者无痕模式浏览;

2022-05-02 16:26:02 506

原创 图的路径遍历和层级遍历

图的路径遍历可以得到图的所有路径图,层级遍历可以得到这个图有多少层,方便我们系统逐级加载数据程序的主要功能输出路径图。首选获得所有的路径图,以list展示按层级展示(层级之间存在重复字段)。将这些路径图按层级进行归并。由于同一个字段可能以不同层级存在于一个字段,故两个层级之间存在重复字段)按层级展示。将第二步中的字段,从高层开始向下层开始遍历,如果存在重复字段,则删除底层的重复字段。import lombok.Getter;import lombok.Setter;import lomb

2021-11-22 13:42:09 1415

原创 多叉树的样例

工作中有关于菜单的处理,菜单即为多叉树的结构。该样例支持如下功能:1.获取所有节点;2.获取当前节点的所有子节点;3. 获取当前节点的所有父节点 ;4.获取同级字段;package express.tree;import com.alibaba.fastjson.JSONObject;import java.io.Serializable;import java.util.*;import java.util.stream.Collectors;public class Node

2021-07-30 18:22:35 191

原创 设计模式学习笔记

设计模式学习笔记一、设计模式-代理模式1.1 简介在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构性模式。在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。之前进行Spring AOP开发时,发现其主要技术就包含代理模式,代理模式主要模拟被代理的行为,从而进行控制。使用代理模式可似的代码具有可扩展性,比如切点AOP,采用切面编程,不需修改代码主流程,通过代理模式代理相关对象进行操作;当时使用Sping Aop,也可以说是代理模式的原因就

2021-03-24 14:46:05 200

原创 机试题

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。示例:输入:nums = [1,2,3,4]输出:[1,3,2,4]注:[3,1,2,4] 也是正确的答案之一。代码/** * * <li>输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。</li> * <li>输入:nums = [1,2,3,4]</li&g

2020-10-28 15:16:23 387

原创 万物皆要实例化

站在架构师的角度,任何注入的对象都要实例化。刚学习Spring时,以为在对象上加注入标签@Autowired即可,其实这些注入对象也是要实例化的,真正的实例化是在其对应实现类上加标签@Service,如果其对应实现类上无@Service即报如上错误。当发现该实现类上已经加了标签@Service,则要查看启动类@ComponentScan(basePackages = {“xxx”,“yy...

2019-05-14 11:32:37 192

原创 org.apache.rocketmq.client.exception.MQClientException: No route info of this topic

消息队列Exception in thread “main” org.apache.rocketmq.client.exception.MQClientException: No route info of this topic, 123spirng boot 整合消息队列时,提示No route info of this topic。如果使用原有已创建的topic,可以发送消息成功,但是使用...

2018-12-26 13:57:25 17469 1

原创 子类方法调用如何实现

类中方法分为构造方法和普通方法,对于有继承关系的类是如何调用构造方法和普通方法呢?首先子类中调用构造方法和普通方法的实现是不一样的:[构造器]调用初始创建对象时,要先执行父类构造方法,然后执行子类构造方法;[普通方法]调用子类重写父类A方法,对象调用子类重写的父类方法;未重写父类的方法,对象调用时子类直接调用父类的方法。如下是代码实例package test;public cl...

2018-10-22 09:43:26 2732

原创 maven项目如何加载不同的配置文件

疑惑: 公司项目,本地启动时取用默认路径的下的配置文件,而当maven打包时取用另一文件路径下的配置文件。解决过程:首先查找公司项目代码中是否控制本地启动和服务器启动时使用的配置文件不同,但是发现并不是;最后考虑是否是maven打包加载时已经有选择的获取配置文件。答案:可通过在pom.xml中增加profile标签,设置要进行替换的配置文件,并激活activeByDefault这样每次打包...

2018-10-16 18:51:51 2606

原创 MySQL存储过程

MySQL存储过程 MySQL的存储过程和Oracle的存储过程实现的功能基本是一样的,但是存储过程的实现语法有些许不一样。 参数:三种,输入类型in,输出类型out,输入输出类型inout 创建存储过程时要通过DELIMITER语句修改定界符。 存储过程将语句体包含在begin…end中 存储过程通过call调用首先建表CREATE TABLE `student` ( ...

2018-08-15 18:56:20 169

原创 RocketMQ报错整理

今天安装RocketMQ的rocketmq-console的时候,用mvn和Spring boot的方式启动RocketMQ的运维服务程序 mvn spring-boot:run 遇到了两个报错 报错1 提示 Failed to load class “org.slf4j.impl.StaticLoggerBinder” 报错2 提示 java.lang.NoClassDefFound...

2018-08-06 15:52:44 1358

原创 UML设计

设计类图、时序图https://www.cnblogs.com/shindo/p/5579191.html https://www.cnblogs.com/downey/p/4890830.html

2018-08-01 17:23:57 480

原创 技术栈-消息队列

================消息发布订阅:生产者如何得知消费者已成功获取消息?================对于有消息队列,日志的系统,如果一个页面响应时间过长,该如何排查问题?================一个订单,有多条记录,可能有取消订单,有确认订单,删除订单,同时这些消息可能存储于不同的消息队列。该怎么以正确的处理顺序来处理?…https://www.cnb......

2018-08-01 17:10:08 2285

原创 SQL优化

对于SQL优化,首先要思考如下问题: SQL语句如何进行优化;SQL语句如何查看执行计划,关注哪些优化因素; id每个被独立执行的操作标识,标识对象被操作的顺序,id值越大,先被执行,如果相同,执行顺序从上到下select_type查询中每个select 字句的类型table被操作的对象名称,通常是表名,但有其他格式partitions匹配的分区信息(对于非分...

2018-08-01 15:33:06 203 1

原创 Git命令

git关联本地与远程分支git关联本地与远程分支 本地新建分支v1,并切换 git checkout -b v1 远程仓库中也就创建了一个v1分支 git push origin v1 关联本地与远程分支git关联本地与远程分支 git branch –set-upstream-to origin/v1 v1...

2018-06-20 17:20:30 138

原创 并发同步学习笔记

Synchronized、ReentrantLock的区别?要回答这两者的区别,我们先要搞懂如下概念 要搞明白的概念——可重入锁,定时锁等候tryLock(),中断锁等候lockInterruptibly() ——ReentrantLock的lock机制有2种,忽略中断锁和响应中断锁 ...

2018-06-19 15:44:50 274

转载 JVM总结笔记

================================ 什么是Java虚拟机? 简单的说,一个JVM是一个软件模块,用于执行Java应用的字节码,并且把字节码转化到硬件,操作系统的指令。通过这样做,JVM允许Java程序在第一次编写后,不需要更改原始的代码,就能在不同的环境中执行。Java的可移植性是通往企业应用语言的关键:开发者并不需要为不同平台重写应用代码,因为JVM负责翻译和平...

2018-05-14 11:08:11 219

原创 内存模型JMM

================== 内存模型================== 内存模型(JMM)中主要讲述两点:指令重排和内存屏障。内存指令的执行要符合happens before原则; 内存模型同时还涉及 编译器 和 处理器。指令重排涉及编译器,内存屏障涉及处理器。 为什么要讲述内存模型? 在处理器层面上,内存模型定义了一个充要条件,“让当前的处理器可以看到其...

2018-04-26 20:08:57 217

转载 Java IO学习总结笔记-总结

Java IO 总结笔记 Java的 IO 大致可以分成 对字节流的输入输出, 对字符流的输入输出。 InputStream和OutputStream主要用于字节流byte的输入输出,二进制文件。 Reader 和 Writer 主要用于字符流的输入输出,文本文件。 流与Reader和Writer在结束使用...

2018-04-23 10:14:34 269

原创 数据库问题总结

================ 悲观锁和乐观锁================ 数据库 乐观锁和悲观锁的机制: 1. 乐观锁是一种思想,具体实现是,表中有一个版本字段,第一次读的时候,获取到这个字段。处理完业务逻辑开始更新的时候,需要再次查看该字段的值是否和第一次的一样。如果一样更新,反之拒绝。 之所以叫乐观,因为这个模式没有从数据库加锁。 2. 悲观锁是读取的时候为后面的更...

2018-04-19 20:44:15 2119

原创 JSONString 和 JSONObject

JSONString 和 JSONObject的使用方法 (1)toJSONString String data=JSON.toJSONString(Object object) API: String com.alibaba.fastjson.JSON.toJSONString(Object object) 把object转化成json格式的字符串(object可以是类Class,也...

2018-04-19 20:34:11 7417

原创 Java IO学习总结笔记

Java的 IO 大致可以分成 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(1)对字节流的输入输出, &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(2)对字符流的输入输出。 InputStream和OutputStream主要用于字节流byte的输入输出,二进制文件。 Reader 和 Writer 主要用于字符流的输入输出,文本文...

2018-04-19 20:15:00 195

原创 中间件Tomcat

Tomcat如何放置和启动项目: 把项目放到Tomcat的安装路径下webapps下面 进入Tomcat的安装路径下的bin文件夹,双击startup.bat==================== tomcat如何手动启动和关闭 启动:进入Tomcat的安装路径下的bin文件夹,双击startup.bat 关闭:进入Tomcat的安装路径下的bin文件夹,双击shutdown.ba...

2018-03-12 09:38:01 3280

原创 缓存学习笔记

redis是一个key-value存储系统。我们主要用到它的缓存机制,比如可以用来缓存用户信息,用于同一用户在不同系统之间进行登录。 如下定义引用百度百科:redis是一个key-value存储系统。它和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些...

2018-03-07 16:31:57 200

原创 线程池学习笔记

线程池的优点: 重用线程池中的线程,减少因对象创建,销毁所带来的性能开销; 能有效的控制线程的最大并发数,提高系统资源利用率,同时避免过多的资源竞争,避免堵塞; 能够多线程进行简单的管理,使线程的使用简单、高效。 线程池框架Executor java中的线程池是通过Executor框架实现的,Executor 框架包括类:Executor,Executors,ExecutorServic...

2018-02-28 16:36:04 205

原创 技术总结笔记

String,StringBuffer与StringBuilder的区别? String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) String 是不可变的对象, 如果对 String 类型进行改变的时候其实都等同于生成一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最...

2018-02-24 17:26:35 294

原创 JVM学习笔记

JVM机制 JVM包含 类加载子系统,垃圾回收系统GC ,内存三部分。================================= 运行数据区(内存) 运行数据区分为5个组件:方法区,堆区域,堆栈区,PC寄存器,本地方法堆栈。 方法区:类级别的数据存储在这里 。方法区里存的都是类型信息,也就是类的信息,而类的信息 又包括以下内容: 类的全限定名(类的全路径名) ...

2018-02-22 15:34:35 185

原创 NIO学习笔记

Java SE 1.4引入了大量用于改进输入/输出处理机制的特性,它们位于java.nio包。 该包中包含对下列特性的支持: 字符集编码器和解码器 非阻塞的I/O 内存映射文件 文件加锁机制1.内存映射文件 大多数操纵系统都可以利用虚拟内存实现来将一个文件或者文件的一部分“映射”到内存中。然后,这个文件就可以当做是内存数组一样地访问,这比传统的文件操...

2018-02-21 18:26:19 133

原创 Spring学习总结笔记三

Spring 是轻量级的开源框架。Spring 包含控制反转IoC(DI) 和 面向切面AOP的特性。 IoC 依赖注入或者控制反转,调用者不负责被调用者的实例创建工作,该创建工作由Spring框架中的容器来负责,创建后再注入调用者。由于Spring容器负责被调用者实例,实例创建后又负责将该实例注入调用者,因此称为依赖注入。被调用者的实例创建工作不再由调用者来创建而是由Spring容器来创建,控...

2018-01-19 09:51:44 558

原创 复杂JSON对象解析

面对复杂的json对象,一个json对象嵌套四五层,而且其中的数据类型可能是基本数据类型,对象,数组,map和list。对于这种情况,基本的json的jar包已经不能满足这些复杂的需求,需要用到阿里巴巴提供的fastjson的jar包,涉及到2个jar包fastjson-1.2.21-sources.jarfastjson-1.2.21.jarjson 中用到的数据类型1基本数据类型 : Stri

2018-01-02 10:28:40 5269

原创 mybatis关于特殊字符的处理

我们在写SQL语句的时候,不可避免的要用到特殊字符,比如大于号,小于号。这些符号对于XML这里文本文件来说就是特殊字符,我们要做特殊处理。处理的方式有两种: 1:转义 我们可以把这些特殊字符进行转义, 大于号转义为 &amp;amp;amp;gt; 小于号转义为&amp;amp;amp;lt;其他的符号用到的很少,用到再加。 2:

2018-01-02 09:57:11 2270

原创 MySQL分页

MySQL分页的语句SELECT * FROM table LIMIT offset,pageSizeLIMIT子句是MySQL中用于分页的关键字。LIMIT 接受一个或两个数字参数。参数必须是一个整数常量。如果给定两个参数,第一个参数指定第一个返回记录行的偏移量,第二个参数指定返回记录行的最大数目。我们通过在前台传递参数page(页码),pagesize(每页显示的条数)两个参数去分页查询数据库

2018-01-02 09:41:31 229

原创 mybatis报错整理:org.apache.ibatis.binding.BindingException

使用框架mybatis编写数据库的CURD,不可避免的会遇到org.apache.ibatis.binding.BindingException类型的报错,对于这一报错又分为多种类型的报错,如下是我遇到的报错类型,以后遇到其他类型再增加。 报错类型1: Caused by: org.apache.ibatis.binding.BindingException: Parameter ‘group_

2017-12-29 10:44:12 485

原创 Java文件IO学习笔记(五)-删除文件夹和文件

本实例介绍如何验证传入路径是否正确、如何删除系统上的文件或文件夹,包括删除文件夹下的所有文件。 删除文件与文件夹的技术要点如下: 1.File的delete()方法删除文件或文件夹。 2.当File指向一个文件夹时,必须保证文件夹下面的子文件或子目录为空,才能用delete()方法将这个文件夹删除。package core;import java.io.File;/** * 删除文件夹和文件

2017-09-06 16:51:58 1324

原创 Java文件IO学习笔记(四)-查找文件

在文件系统中存在很多文件夹和文件,为了快速地从一个文件结构中找出指定类型的所有文件,我们使用文件类型的过滤器,方便对文件夹或文件进行过滤。 运用文件过滤器对文件进行查找的技术要点如下: 文件类型过滤器:FileFilter,在文件拷贝、移动、删除和压缩时,指定多个文件类型、修改时间、大小限制、覆盖条件、是否包含子目录等条件进行过滤。package core;import java.io.File

2017-09-05 16:21:09 386

原创 Java文件IO学习笔记(三)--创建文件和目录

本实例介绍如何在文件系统中创建文件和目录。在指定的目录下创建文件时目录不存在则新建目录,还可以生成临时文件。 创建文件和目录的技术要点如下: 1.File类的createNewFile根据抽象路径创建一个新的空文件,当抽象路径指定的文件存在,创建失败。 2.File类的mkdir方法根据抽象路径创建目录。 3.File类的mkdirs方法根据抽象路径创建目录,包括创建必需但不存在的父目录。

2017-09-05 11:04:06 447

原创 英语口语-常用词汇

highlighter n 荧光笔;高光笔口语毋庸置疑是非常重要的,既可以对外交流,又可以让我们学习的英语有用武之地。口语根据实际交际类型来进行学习,比如出国,打电话,在餐厅吃饭等等。 资料都是从网上学习整理的,整理好供自己不时地复习。同时该部分的单词如果有了对应的口语素材,便会把该部分单词和对应的口语素材合并到一起。 比如租房的单词,如果有了关于租房的口语对话。那么便把租房的口语对话和租房的

2017-08-31 16:39:10 3607

原创 Java安全学习笔记(十一)-RSA算法加密和解密

RSA算法是使用整数进行加密和解密运算的, 加密:在RSA公钥中包含了两个信息:公钥对应的整数e和用于取模的整数n。对于明文数字m,计算密文的公式是: m^e mod n. 解密:跟加密类似,私钥对应的指数e和用于取模的整数m.其中模m和加密时的加密的模n完全相同。对于密文数字d,计算公式d^e mod n。加密和解密最大的不同在于幂e不同。 本实例以加密和解密一个字符串”I am a

2017-08-31 11:06:19 1133

空空如也

空空如也

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

TA关注的人

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