自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 好久不见,各位

已经三年没更新了,庆幸我还在这个行业混饭吃。最近的状态一直是浑浑噩噩,做一天和尚敲一天钟,好好反思,好好总结自己后面的规划。

2024-06-23 16:02:03 79

原创 解决org.bson.codecs.configuration.CodecConfigurationException:Cant find a codec for java.sql.date

Mongo数据库Document 对象转为jsonObject对象时,使用toJson方法报错:org.bson.codecs.configuration.CodecConfigurationException:Cant find a codec for java.sql.date解决办法:注入MongoConverter,使用mongoConverter.read(JSONObject.class,dc);即可解决。...

2021-04-12 11:22:43 733

原创 windows 7 安装PostgreSQL12 报错:The database cluster initialisation failed 问题

windows 7 安装PostgreSQL12 报错:The database cluster initialisation failed 问题目前项目中要切换到postgresql ,所以决定在本地环境中装postgresql 。安装环境和版本:windows7 和 postgre sql12 安装过程中出现:Problem running post-install step. Installation may not complete correctly. The database cluste

2021-04-02 14:00:42 389 1

原创 springboot整合分页插件pageHelper 返回全部数据问题

记录一次工作中关于pagehelper问题关于由于项目中用的是springboot脚手架,在导出pom文件的坐标依赖中,原来导入的依赖是:< dependency >< groupId >com.github.pagehelper</ groupId >< artifactId >pagehelper</ artifactId>< version>5.2.0</ version></ dependency

2020-12-27 16:51:06 2538 1

原创 JAVA NIO

1. JAVA NIONIO主要有三大核心部分:Channel(通道),Buffer(缓冲区),Selector。传统IO基于字节流和字符流,而NIO基于Channel和Buffer进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入通道中。selecttor(选择区)用于监听多个通道的事件(比如连接打开,数据到达)。因此,单个线程可以监听多个数据通道。...

2020-09-26 22:30:14 182

原创 Java IO 模型

1.阻塞IO模型最传统的IO模型,即在读写数据的过程中会发生阻塞现象。当用户线程发出IO请求后,内核会去查看数据是否就绪,如果没有就绪就会等待数据就绪,而用户线程就会处于阻塞状态,用户线程交出cpu。当数据就绪之后,内核会将数据拷贝到用户线程,并返回结果给用户线程,用户线程才会解除block状态。典型的例子是:data = socket.read();如果没有数据就绪,就会一直阻塞read方法。2.非阻塞IO模型当用户线程发起一个rea操作后,并不需要等待,而是马上就得到一个结果。如果结果是error

2020-09-24 22:40:46 103

原创 JVM垃圾回收与算法

垃圾回收与算法1.如何确定需要回收的垃圾引用计数算法在java中,引用和对象是关联的。如果要操作对象则必须用引用进行。因此,很显然一个简单的办法就是通过引用计数来判断一个对象是否可以回收。简单说,即一个对象如果没有任何与之关联的引用,即他们的引用计数都不为0,则说明对象不太可能再被用到,那么这个对象就是可回收的对象。可达性分析为了解决引用计数法的循环引用的问题,java使用了可达性分析的办法。通过一系列的“GC roots” 对象作为起点搜索。如果在GC root和一个对象之间没有可达路径,则

2020-09-22 23:18:24 119

原创 Java基础复习

JVMJVM是一个抽象的计算机,和实际的计算机一样,它具有指令集并使用不同的存储区域。它负责执行指令,还有管理数据,内存,寄存器。JVM分为向上和向下两个部分,所有平台上的JVM向上提供Java字节码程序的接口完全相同,但是向下不同平台的接口完全不同。GC垃圾回收算法一般要做两件基本的事情,发现无用的对象;回收被无用对象占用的内存空间,是该空间可程序再次使用。一般具有如下几个特点垃圾回收...

2019-06-30 22:29:59 92

原创 面试总结2

1. Spring的xml,注解和Java Config的区别 xml配置相对于其他两种方式来说,几乎没有什么优势,唯一的优势就是修改后不需要重新编译,因此对于一些经常切换实现类的对象,可以采用xml的方法进行配置。还有就是由于xml是Spring一开始提供的配置方式,因此许多旧代码还是采用xml,所以在维护旧代码时会免不了用到xml。注解用起来非常地简洁,代码量十分少,因此是项目的第...

2019-01-23 20:40:32 101

原创 Java设计模式之适配器模式

适配器模式(Adapter)适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式,对象的适配器模式,接口的适配器模式。首先,我们来看看类的适配器模式。如下图:其核心思想就是:有一个Source类,拥有一个方法,待适配,目标接口是Targetable,通过Adapter类,将Source的功能扩展到Taar...

2019-01-22 20:29:08 88

原创 Java设计模式六大原则

Java设计模式的六大原则1. 开闭原则(Open Close Principle)开闭原则就算说对扩展开发,对修改关闭。在程序需要进行扩展的时候,不能去修改原有的代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类,后面的具体设计中我们会提到这点。2. 里氏代换原则(Liskov Substitution Pri...

2019-01-22 18:59:53 140

原创 SpringCloud总结二

客户端负载均衡:Spring Cloud RibbonSpring Cloud Ribbon是基于HTTP和TCP客户端负载均衡工具,它基于Netflix Ribbon实现。通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模板骑牛自动转换成客户端负载均衡的服务调用。Spring Cloud Ribbon虽然只是一个工具类框架,它不像服务注册中心,配置中心,API网关那样需...

2019-01-22 17:12:05 126

原创 MongoDB总结

MongoDBmongoDB是一个开源的,基于分布式的,面向文档存储的非关系型数据库。是非关系型数据库中功能最丰富,最小关系型数据库MongoDB由C++编写,其名字来源于"humongous"这个单词,其宗旨在于处理大量数据。MongoDB支持的数据结构非常松散,是json的格式,通过键值对的形式存储数据,可以存储复杂的数据类型。MongoDB支持的数据类型有:null,boolean,...

2019-01-22 10:31:43 208

原创 数据库分库分表

数据库分布式数据库分布式核心内容无非就是数据切分(Sharding),以及切分后对数据的定位,整合。数据切分就是将数据分散存储到多个数据库中,使得单一数据库中的数据量变小,通过扩充主机的数量缓解单一数据库的性能问题,从而达到提升数据库操作性能的目的数据切分根据其切分类型,可以分为两种方式:垂直(纵向)切分和水平(横向)切分垂直(纵向)切分垂直切分常见有垂直分库和垂直分表两种。垂直分库就是...

2019-01-21 20:58:49 155

原创 Dubbo和SpringCloud认识

微服务架构微服务架构提倡将单一应用程序划分成为一组小的服务,服务之间互相协调,互相配合,为用户提供最终价值。常见的微服务框架有Dubbo和SpringCloud微服务的主要优势降低复杂度将原来耦合在一起的复杂业务拆分成为单个服务,规避了原来复杂度无止境的积累。每一个微服务专注于单一功能,并通过定义良好的接口清晰表达服务的边界。每个服务开发者只专注于服务本身,通过使用缓存,DAL等各种技术...

2019-01-21 19:10:35 146

原创 Mybatis总结

Mybatis总结mybatis是一个优秀的基于java的持久层框架,它内部封装了jdbc,使开发者只需要关注sql语句本身。通过xml或注解的方式将要执行的各种statement配置起来,并通过java对象和statement中sql的动态参数进行映射生成最终执行的sql语句,最后由mybatis1框架执行sql并将结果映射为java对象并返回。ORM思想(对象关系型映射)xml方式映射与...

2019-01-20 15:59:27 592

原创 SpringMVC总结

Spring MVC的工作原理用户向服务器发送请求,请求被SpringMVC前端控制器DiapatchServlet捕获DispatcherServlet对请求URL进行解析,得到请求资源标识符(URL),然后根据该URL调用HanderMapping将请求映射到处理器HandlerExcutionChain;DispatchServlet根据获得Handler选择一个合适的Handler...

2019-01-20 15:53:44 87

原创 Spring总结

Spring的理解Spring是一个IOC和AOP的容器框架Spring容器的主要核心是:控制反转(IOC),传统的java开发模式中,当需要一个对象时,我们会自己使用new或者getInstance等直接或间接调用构造方法来创建一个对象。而在Spring开发模式中,不需要我们自己创建了,直接调用spring提供的对象就可以了,这是控制反转思想。依赖注入(DI),spring使用java...

2019-01-20 15:36:00 124

原创 JVM总结

JVM执行流程.java文件被编译为.class文件加载.class文件(类加载器)管理分配内存执行垃圾收集JVM的声明周期JVM实例对应了一个独立运行的java程序它是进程级别的启动,启动一个java程序时,一个JVM实例就产生了,任何一个用户public static void main的函数的class都可以作为JVM实例的运行起点运行,main()作为该程序初始线程...

2019-01-20 11:46:35 108

原创 IO流总结

IO的类型按字节流和字符流划分字节流又分为:字节输入流,字节输出流字节输入流:1. 文件操作流:FileInputStream2. 高效缓冲流:BufferdInputStream3. 对象操作流(序列化流和反序列)ObjectInputStream:字节输出流:1. 文件操作流:FileOutputStream2. 高效缓冲流:BufferdOutputStream3. 对象...

2019-01-20 09:15:08 107

原创 集合总结

L特点ist的三个子类的:ArrayList 底层结构是数组,底层查询快,增删慢;LinkedList 底层结构是链表型的,增删慢,查询快;vector 底层数组,线程安全的,增删慢,查询吗。List和Map,Set的区别一, 结构特点list和set是存储单列数据的集合,Map是存储键和值这样的双列数据集合;list中存储的数据是由顺序,并且运行重复;Map中存储的数据是没有顺序的,...

2019-01-19 16:32:51 267

原创 Oracle总结二

游标参考博客:https://www.cnblogs.com/sc-xxarchive/2011/12/03/2275084.htmlOracle中游标分为显示游标和隐式游标显示游标使用 cursor…is命令定义的游标,它可以对查询语句(select)返回的多条记录进行处理隐式游标是在执行插入(insert),删除(delete),修改(update)和返回单条记录查询(select)...

2019-01-18 19:10:37 152

原创 Oracle总结一

Oracle数据库1.数据库oracle数据库是一个操作系统只有一个库,可以看做是oracle就只有一个大数据库2.实例一个oracle实例有一系列的后台进程和内存结构组成。一个数据库可以有n实例。3.用户用户是在实例下建立的。不同的实例可以建立相同名字的用户4.表空间表空间是oracle对物理数据库上相关数据文件(ORA或者DBF文件)的逻辑映射。一个数据库在逻辑上被划分成一到若...

2019-01-18 17:10:49 205

原创 Mysql总结

1.SQL的select语句完整的执行顺序SQL Select1. from 子句组装来自不同数据源的数据;2. wher 子句基于指定的条件对记录行记录筛选;3. group by 子句将数据划分为多个分组;4. 使用聚合函数进行计算;5. 使用having 子句筛选分组;6. 计算所有表达式;7. select 字段;8. 使用 order by 对结果集进行排序。SQL语...

2019-01-18 11:59:43 126

原创 Mybatis中一级缓存与二级缓存

Mybatis中一级缓存与二级缓存1,一级缓存:基于PerpetualCache的HashMap本地缓存,其存储作用域为Session,当session flush或close 之后,该session中的所有Cache就将清空。2,二级缓存与一级缓存其机制相同,默认也是采用PerpetualCache,HashMap存储,不同在于其存储作用域为Mapper(Namespace),并且可自定义存...

2019-01-17 19:09:45 223

原创 抽象类(abstract class)和接口(interface)有什么异同

不同:抽象类:1.抽象类中可以定义构造器2.可以有抽象方法和具体方法3.接口中的成员全都是 public 的4.抽象类中可以定义成员变量5.有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法6.抽象类中可以包含静态方法7.一个类只能继承一个抽象类接口:1.接口中不能定义构造器2.方法全部都是抽象方法3.抽象类中的成员可以是 private、默认、protected、...

2019-01-17 11:27:55 221

原创 网络通信与socket

网络通信与Socket1.本地通信与网络通信本地进程之间通信(IPC)有很多方式,但是可以总结下面4类消息传递(管道,FIFO,消息队列)同步(互斥量,条件变量,读写锁,文件和写记录锁,信号量)共享内存(匿名的具体名)远程过程调用(Solaris和RPC)网络中进程之间如何进行通信?在网络中进程通信首要前提是如何标识一个进程?本地可以通过进程PID唯一标识一个进程,但是网络中需...

2019-01-17 11:27:26 380

原创 重载(overload)和重写(override)的区别?重载的方法能否根据返回类型 进行区分?

方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性。重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同、参数个数不同或者二者都不同)则视为重载;重写发生在子类与父类之间,重写要求子类被重写方法与父类被重写方法有相同的返回类型,比父类被重写方法更好访问,不能比父类被重写方法声明更多的异常(里氏代换原则)。重载对返回类型没有特殊的要求。...

2019-01-16 19:42:16 121

原创 & 和 && 的区别

&amp;运算符有两种用法:(1)按位与;(2)逻辑与。&amp;&amp;运算符是短路与运算。逻辑与跟短路与的差别是非常巨大的,虽然二者都要求运算符左右两端的布尔值都是true 整个表达式的值才是 true。&amp;&amp;之所以称为短路运算是因为,如果&amp;&amp;左边的表达式的值是 false,右边的表达式会被直接短路掉,不会进行运算。很多时候我们可能都需要用&amp;&amp...

2019-01-16 19:40:42 134

原创 GET 和 POST 的区别

从表面现像上面看 GET 和 POST 的区别:GET 请求的数据会附在 URL 之后(就是把数据放置在 HTTP 协议头中),以?分割 URL 和传输数据,参数之间以&amp;相连,如:login.action?name=zhagnsan&amp;password=123456。POST 把提交的数据则放置在是 HTTP 包的包体中。GET 方式提交的数据最多只能是 1024 字节...

2019-01-16 19:39:23 87

原创 http 常见的状态码有哪些?

200 OK //客户端请求成功301 Moved Permanently(永久移除),请求的 URL 已移走。Response 中应该包含一个 Location URL, 说明资源现在所处的位置302 found 重定向400 Bad Request //客户端请求有语法错误,不能被服务器所理解401 Unauthorized //请求未经授权,这个状态代码必须和 WWW-Authen...

2019-01-16 19:37:22 132

原创 关系数据库中连接池的机制是什么?

前提:为数据库连接建立一个缓冲池。1:从连接池获取或创建可用连接2:使用完毕之后,把连接返回给连接池3:在系统关闭前,断开所有连接并释放连接占用的系统资源4:能够处理无效连接,限制连接池中的连接总数不低于或者不超过某个限定值。其中有几个概念需要大家理解:最小连接数是连接池一直保持的数据连接。如果应用程序对数据库连接的使用量不大,将会有大量的数据库连接资源被浪费掉。最大连接数是连接池能...

2019-01-16 19:36:10 1231

原创 什么要使用 PreparedStatement

1、 PreparedStatement 接口继承 Statement, PreparedStatement 实例包含已编译的 SQL 语句,所以其执行速度要快于 Statement 对象;2、 作 为 Statement 的 子 类 , PreparedStatement 继 承 了 Statement 的 所 有 功 能 。 三 种 方法 execute、 executeQuery 和 ex...

2019-01-16 19:34:01 615

原创 原生 jdbc 操作数据库流程

第一步:Class.forName()加载数据库连接驱动;第二步:DriverManager.getConnection()获取数据连接对象;第三步:根据 SQL 获取 sql 会话对象,有 2 种方式 Statement、PreparedStatement ;第四步:执行 SQL 处理结果集,执行 SQL 前如果有参数值就设置参数值 setXXX();第五步:关闭结果集、关闭会话、关闭连...

2019-01-16 19:32:09 367

原创 单例设计模式

单例设计模式单例设计模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例,即一个类只有一个对象实例。具体实现1.将构造方法私有化,使其不能在类的外部通过new关键字实例化该对象;2.在该类内部产生一个唯一的实例化对象,并且将其封装为private static 类型;3.定义一个静态方法返回这个唯一对象...

2019-01-16 19:27:24 87

原创 Spring Cloud入门

什么是Spring CloudSpringCloud基于SpringBoot,为微服务开发中的架构问题,提供了一整套解决方案–服务的注册与发现,服务的消费,服务的保护与熔断,网关,分布式调用追踪,分布式配置管理等。SpringCloud是一个基于SpringBoot实现的云应用的开发工具;SpringBoot专注于快速方便集成的单个个体,SpringCloud是关注全局的服务治理框架;Spri...

2019-01-16 18:58:26 204

原创 SpringBoot入门

SpringBootSpringBoot是Spring的一套快速配置脚手架,可以基于SpringBoot快速开发单个微服务,是spring的引导,用于启动Spring,使得Spring的学习和使用变得快速简单。Spring的不足和SpringBoot的优势Spring开发中有三个令人相当头疼的地方1.依赖太多,而且要注意版本的兼容性;2.配置太多;3.通过内嵌的web容器,由应用启动t...

2019-01-16 18:46:30 83

原创 JVM的内存结构和内存分配

Java内存模型Java虚拟机将其管辖的内存大致分为三个逻辑部分: 方法区(Method Area),Java栈(Stack),Java堆(heap1. 方法区是静态分配的,编译器将变量绑定在某个存储位置上,而且这些绑定不会在运行时改变。常数池,源代码中的命名常量,String常量和static变量保存在方法区。2. Java Stack 是一个逻辑概念,特点是后进先出。一个栈的空间可能是连...

2019-01-10 19:51:24 359 2

原创 面试笔记

个人笔记1.JAVA三大特性1.继承: 从已有的类中得到继承信息创建新类的过程.提供信息的叫做父类,得到继承信息的叫做子类2.封装: 通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口3.多态性: 允许不同子类型对象对同一消息作出不同响应,简单说用同样的对象引用调用同样的方法但是做了不同的事情,多态性又分为编译时多态和运行时多态.编译时多态值重载,运行时多态指重...

2019-01-09 21:29:40 215

原创 Java面向对象 面向对象都有哪些特性?

1) 继承: 继承都是从已有的类得到继承信息创建新的类的过程.提供信息的类被称为父类(超类,基类),得到信息的类被称为子类(派生类).继承让变化中的软件系统有了一定的延续性,同时继承也是封装程序中可变因素的重要手段.2) 封装: 通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口.面向对象的本质就是将现实世界描绘成一系列完全自治,封闭的对象.我们在类中编写方法就是对实...

2018-11-25 22:23:38 1322 1

空空如也

空空如也

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

TA关注的人

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