自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(457)
  • 资源 (4)
  • 收藏
  • 关注

原创 个人文章汇总

对个人文章进行汇总,包括操作系统、计算机网络、系统架构、编程工具、前端编程、Java编程、数据库、消息中间件、分布式等模块。

2024-09-25 17:56:52 1237

原创 个人文章列表

根据发布时间进行汇总,仅进行记录。会根据具体的模块进行详细的分类汇总,形成新的帖子!!!

2024-09-25 17:14:20 2174

原创 个人文章合集 - 心得&资料

本文对技术之外的一些资料与新的体会的文章进行汇总。

2024-09-12 19:57:38 1181

原创 微服务:浅谈SpringCloud微服务架构

微服务:简述Spring Cloud微服务架构Spring Cloud作为当下主流的微服务框架,可以让我们更简单快捷地实现微服务架构。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。Spri...

2019-07-10 13:24:09 3561 1

原创 Java:详解Java中的异常(Error与Exception)

《Java:详解Java中的异常(Error与Exception)》 《Java:简述Java中的自定义异常》 《Java:简述throw-throws异常抛出》 《Java:简述try-catch-finally异常捕获》 《Java:简述try-catch-finally中return返回》一、 异常机制的概述 异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机...

2018-06-22 16:54:26 133097 48

原创 个人文章合集 - Java基础

Java预语法、Java集合等相关文章合集

2024-10-06 16:30:00 612

原创 个人文章合集 - 基础网络相关

个人计算机网络基础知识的相关文章合集

2024-09-30 09:00:00 332

原创 个人文章合集 - 非关系型数据库相关

数据库:简述对数据库的认识数据库:简述对关系型数据库(RDBMS)的认识数据库:简述对非关系型数据库(NoSQL)的认识数据库:关系型数据库和非关系型数据库的区别数据库:简述对分布式数据库的认识缓存:浅谈双写导致的数据一致性问题缓存:浅谈缓存穿透、缓存击穿、缓存雪崩等缓存:Redis 和 Memcached 的区别和共同点Redis:Redis的概念及各项功能Redis:5种基本数据类型概述Redis:简述Redis的数据淘汰策略Redis:浅谈Redis持久化机制-RDB和AOFRed

2024-09-30 08:00:00 307

原创 个人文章合集 - 关系型数据库相关

个人文章合集 - 关系型数据库相关:包括基础的技术库介绍,及Oracle、MySQl、SQLServer等实践

2024-09-29 09:00:00 437

原创 个人文章合集 - 前端相关

前端:简述表单提交前如何进行数据验证前端:项目一个html中如何引入另一个html?前端:一张图快速记忆CSS所有属性前端:三个CSS预处理器(框架)-Sass、LESS 和 Stylus的比较Jquery:验证InputFile选中的文件类型Vue:简述对Vue的简单认识Vue:Vue2.0常用的开发环境Vue:Windows环境下搭建Vue的开发环境Vue:优秀的Vue UI组件库总结Vue:简述Vue开发中的NaN类型Vue:父子组件之间的接口互调Vue:SessionStorage

2024-09-29 08:00:00 542

原创 个人文章合集 - Spring相关:Spring+Mvc+Boot+Cloud

简述SSH框架和SSM框架的区别简述Spring、SpringMvc和SpringBoot的区别Spring:浅谈对Spring的认识Spring:浅谈对AOP的认识Spring:依赖注入(IOC)之注解注入Spring:浅谈对SpringBean的认识Spring:浅谈对Spring事务的认识Spring:概述Spring中常用的注解Spring:简述注解@RequestMapping浅谈SpringMvc的核心流程与组件SpringBoot:简述SpringBoot开发中的常用注解Spr

2024-09-28 09:00:00 486

原创 个人文章合集 - 算法原理&算法题

算法:算法概述算法:浅谈常见的限流算法算法:常见hash算法的原理算法:二分查找法算法:浅谈约瑟夫算法算法:费波纳茨数列1 1 2 3 5 8 13 21算法:快速排序算法:插入排序算法:冒泡排序算法题-字符串:找最短循环子串算法题-字符串:找单独的数字算法题:检查符号是否成对出现算法题:移除无效的括号算法题:判断一个整数是不是2的阶次方算法题:将数组随机打乱顺序,生成一个新的数组算法题:最低成本联通所有城市

2024-09-28 08:00:00 194

原创 个人文章合集 - SDN&ODL&Mininet

SDN:简述对SDN的认识SDN:简述对SDN架构的认识SDN:简述对各类SDN控制器的认识SDN:简述对各类SDN交换机的认识SDN:简述对SDN北向接口协议的认识SDN:简述对SDN南向接口协议的认识SDN:简述SDN典型应用场景OpenFlow:简述对OpenFlow协议的认识OpenFlow:简述OpenFlow协议的演进OpenFlow:简述对OpenFlow协议1.0的认识OpenFlow:简述对OpenFlow协议1.3的认识OpenFlow:简述对流表项Flow的了解OD

2024-09-27 09:00:00 257

原创 个人文章合集 - ORM相关:Jdbc+Hibernate+MyBatis)

简单比较Hibernate与MyBatisMybatis:数据库的类型与java类型对应MyBatis:ResultMap的继承MyBatis:mybatis-generator配置文件详解MyBatis:查询集合结果为空时的返回是什么?MyBatis:简述MyBatis映射文件中的参数传递MyBatis:简述MyBatis中动态sql的相关操作MyBatis:MyBatis操作MySQL存储过程MyBatis:插入数据后如何获取自增长主键值MyBatis:executeQuery、exec

2024-09-27 08:00:00 199

原创 个人文章合集 - 消息中间件

个人与消息中间件相关的文章合集

2024-09-26 08:30:00 182

原创 个人文章合集 - 线程&并发相关

资料:简述分布式、高并发与多线程操作系统:从工厂的角度来理解进程线程操作系统:详述对进程和线程的认识Java:浅谈线程的生命周期Java:简述Java多线程的四种实现方式Java:简述Java中的多线程编程Java:简述线程池的工作原理Java:如何选择线程池的核心线程数Java:简述Java中满足线程安全的数据结构Java:集合应对线程安全的升级Java:简述对线程安全(死锁)的认识

2024-09-26 08:00:00 254

原创 简单比较Hibernate与MyBatis

Hibernate优势。

2024-09-14 14:22:28 521

原创 Java:浅谈对象的序列化与反序列化

还有一点值得注意:在使用Externalizable进行序列化的时候,在读取对象时,会调用被序列化类的无参构造器去创建一个新的对象,然后再将被保存对象的字段的值分别填充到新对象中。Transient 关键字的作用是控制变量的序列化,在变量声明前加上该关键字,可以阻止该变量被序列化到文件中,在被反序列化后,transient 变量的值被设为初始值,如 int 型的是 0,对象型的是 null。通过上面的实例可以发现,对User1类进行序列化及反序列化之后得到的对象的所有属性的值都变成了默认值。

2024-09-14 14:11:11 1357

原创 设计模式:23种设计模式之单例模式

还是举ThreadA和ThreadB的例子:当Thread经过第一次检查对象为null时,会接着去加锁,然后去执行new SingletonLazy(),上边已经分析过了,改步骤存在重排现象,如果发生重排,即instance分配了内存地址,但是很没有完成初始化工作,而此时ThreadB,刚好执行第一次检查(没有加锁),instance已经分配了地址空间,不再为null,那么ThreadB会获取到没有完成初始化的instance,这就出现了问题。下述为饿汉式的写法,满足了上边说的第1,2条要求。

2024-09-12 19:55:51 913

原创 Java:集合应对线程安全的升级

使用ArrayList、HashMap,需要线程安全时可以使用Collections.synchronizedList(list);虽然也是锁住了所有的代码,但是锁在方法里边,并非在方法外边。性能稍有提高,毕竟进方法本身就要分配资源的。底层大都采用Lock锁(1.8的ConcurrentHashMap不使用Lock锁),保证安全的同时,性能也很高。使用synchronized修饰方法*,保证线程安全;线程不安全,但是性能好,用来替代Vector、Hashtable。

2024-09-11 09:00:00 306

原创 Java:集合的遍历方式的汇总

但是对于Sequential Access的集合来说,就有很重大的意义了,因为Iterator内部维护了当前遍历的位置,所以每次遍历,读取下一个位置并不需要从集合的第一个元素开始查找,只要把指针向后移一位就行了,这样一来,遍历整个集合的时间复杂度就降低为O(n)。所以我们可以知道,对于顺序存储,因为读取特定位置元素的平均时间复杂度是O(1),所以遍历整个集合的平均时间复杂度为O(n)。而对于链式存储,因为读取特定位置元素的平均时间复杂度是O(n),所以遍历整个集合的平均时间复杂度为O(n^2)。

2024-09-11 08:00:00 1062

原创 操作系统:简述原码,反码,补码及其转换

正数的反码和补码都是其本身。负数的反码是在其原码的基础上, 符号位不变,其余各个位取反;负数的补码是在其原码的基础上, 符号位不变, 其余各位取反, 最后+1。(即在反码的基础上+1)。

2024-09-10 09:00:00 2630

原创 数据结构:浅谈树的遍历方式

遍历的含义就是把树的所有节点(Node)按照某种顺序访问一遍。包括前序,中序,后续,广度优先(队列),深度优先(栈)5 种遍历方法。之所以叫前序、中序、后序遍历,是因为根节点在前、中、后。数据结构中有很多树的结构,其中包括二叉树、二叉搜索树、2-3树、红黑树等等。

2024-09-10 08:00:00 398

原创 算法:插入排序

插入排序非常类似于整扑克牌:在开始摸牌时,左手是空的,牌面朝下放在桌上。接着, 一次从桌上摸起一张牌,并将它插入到左手一把牌中的正确位置上。为了找到这张牌的正确位置,要将它与手中已有的牌从右到左地进行比较。无论什么时候,左手中的牌都是排好序的。:通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应的位置并插入。

2024-09-09 09:00:00 414

原创 算法:冒泡排序

(2)这样对数组的第 0 个数据到 N-1 个数据进行一次遍历后,最大的一个数据就“沉” 到数组第N-1 个位置。(1)比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。(3) N=N-1,如果 N 不为 0 就重复前面二步,否则排序完成。

2024-09-09 08:00:00 173

原创 算法:二分查找法

二分查找又叫折半查找,要求待查找的序列有序。每次取中间位置的值与待查关键字比较,如果中间位置的值比待查关键字大,则在前半部分循环这个查找的过程,如果中间位置的值比待查关键字小,则在后半部分循环这个查找的过程。直到查找到了为止,否则序列中没有待查的关键字。核心:不断二分缩小查找范围。

2024-09-08 09:00:00 173

原创 算法题:判断一个整数是不是2的阶次方

判断整数除以2的余数是否为0,如果不为0,则直接返回false;如果为0,则将将整数除以2后重复本步骤。核心:不断除以2,缩小判断的范围。

2024-09-08 08:00:00 267

原创 算法题:将数组随机打乱顺序,生成一个新的数组

3、将取出的随机数与原数组的最后一个数据进行置换;1、创建一个与原数组长度相同的新数组;中随机取出一个数据,添加进新的数组;核心:缩小原数组的可随机取数范围。2、从原数组的有效的可取数范围。4、重复步骤2和3。

2024-09-07 09:00:00 345

原创 Java:简述类的装载机制

应用程序可以自定义类加载器,父类加载器为AppClassLoader。

2024-09-07 08:00:00 757

原创 Java-IO:浅谈对IO的认识

Java IO流共涉及 40 多个类,这些类看上去很杂乱,但实际上很有规则,而且彼此之间存在非常紧密的联系, Java I0 流的 40 多个类都是从如下 4 个抽象类基类中派生出来的。2、按照操作单元划分,可以划分为字节流和字符流。1、按照流的流向分,可以分为输入流和输出流。3、按照流的角色划分为节点流和处理流。

2024-09-06 09:00:00 265

原创 Java-IO:浅谈对NIO的认识

NIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO 主要用到的是块,所以NIO的效率要比IO高很多。在Java API中提供了两套NIO,一套是针对标准输入输出NIO,另一套就是网络编程NIO。

2024-09-06 08:00:00 2119

原创 Spring:依赖注入(IOC)之注解注入

注解注入顾名思义就是通过注解来实现注入,Spring和注入相关的常见注解有Autowired、Resource、Qualifier、Service、Controller、Repository、Component等。上面的Autowired和Resource是用来修饰字段,构造函数,或者设置方法,并做注入的。而Service,Controller,Repository,Component则是用来修饰类,标记这些类要生成bean。

2024-09-05 09:00:00 808 1

原创 Java:集合的相关汇总介绍

TreeSet()是使用二叉树的原理对新 add()的对象按照指定的顺序排序(升序、降序),每增加一个对象都会进行排序,将对象插入的二叉树指定的位置。Integer 和 String 对象都可以进行默认的 TreeSet 排序,而自定义类的对象是不可以的, 自己定义的类必须实现 Comparable接口,并且覆写相应的 compareTo()函数,才可以正常使用。在覆写 compare()函数时,要返回相应的值才能使 TreeSet 按照一定的规则来排序。比较此对象与指定对象的顺序。

2024-09-05 08:00:00 1800

原创 Java:HashMap和HashTable的区别

虽然HashMap是线程不安全的,但是它的效率远远高于Hashtable,这样设计是合理的,因为大部分的使用场景都是单线程。HashMap:key可以为null,但是这样的key只能有一个,因为必须保证key的唯一性;可以有多个key值对应的value为null。HashMap是线程不安全的,在多线程并发的环境下,可能会产生死锁等问题,因此需要开发人员自己处理多线程的安全问题。HashTable是线程安全的,它的每个方法上都有synchronized 关键字,因此可直接用于多线程中。

2024-09-04 09:00:00 302

原创 ZooKeeper:浅谈ZooKeeper的Watch机制

而ZooKeeper实现这些分布式进程的状态(ZNode的Data、Children)共享时,基于性能的考虑采用了类似的异步非阻塞的主动通知模式,即Watch机制,使得分布式进程之间的“共享状态通信”更加实时高效,其实这也是ZooKeeper的主要任务决定的—协调。多个分布式进程通过ZooKeeper提供的API来操作共享的ZooKeeper内存数据对象ZNode来达成某种一致的行为或结果,这种模式本质上是基于状态共享的并发模型,与Java的多线程并发模型一致,他们的线程或进程都是”共享式内存通信“。

2024-09-04 08:00:00 367

原创 Kafka:浅谈对Kafka的认识

消息系统都致力于让Consumer以最大的速率最快速的消费消息,一些消息系统比如Scribe和Apache Flume采用了Push模式,将消息推送到下游的Consumer。更进一步的性能优化是零拷贝的使用,也就是从磁盘日志到消费者客户端的数据传递,因为Kafka是MQ,对于msg不具备加工处理,所以得以实现。物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个Broker上,但用户只需指定消息的Topic即可生产或消费数据而不必关心数据存于何处。注意:ack的默认值就是1。

2024-09-03 09:00:00 2047

原创 RabbitMQ:浅谈死信队列、延时队列

在 RabbitMQ中存在2种方法可以设置消息的过期时间,第一种通过对队列进行设置,这种设置后,该队列中所有的消息都存在相同的过期时间,第二种通过对消息本身进行设置,那么每条消息的过期时间都不一样。在死信队列中,可以为普通交换器绑定多个消息队列,假设绑定过期时间为5分钟,10分钟和30分钟,3个消息队列,然后为每个消息队列设置DLX,为每个DLX关联一个死信队列。当队列中的消息被拒绝、或者过期会变成死信,死信可以被重新发布到另一个交换器,这个交换器就是DLX,与DLX绑定的队列称为死信队列。

2024-09-03 08:00:00 227

原创 Java-IO:简述常见的IO模型

最传统的一种IO模型,即在读写数据过程中会发生阻塞现象。在信号驱动IO模型中,当用户线程发起一个IO请求操作,会给对应的socket注册一个信号函数,然后用户线程会继续执行,当内核数据就绪时会发送一个信号给用户线程,用户线程接收到信号之后,便在信号函数中调用IO读写操作来进行实际的IO请求操作。另外多路复用IO为何比非阻塞IO模型的效率高是因为在非阻塞IO中,不断地询问socket状态时通过用户线程去进行的,而在多路复用IO中,轮询每个socket状态是内核在进行的,这个效率要比用户线程要高的多。

2024-09-02 17:09:02 851

原创 缓存:浅谈缓存穿透、缓存击穿、缓存雪崩等

缓存穿透:缓存不存在,数据库不存在,高并发,少量key缓存击穿:缓存不存在,数据库存在,高并发,少量key缓存雪崩:缓存不存在,数据库存在,高并发,大量key。

2024-09-02 09:00:00 1395

原创 Redis:浅谈Redis持久化机制-RDB和AOF

Redis提供了两种持久化方式:1、RDB持久化:在指定的时间间隔对数据进行快照存储。2、AOF持久化:记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据。AOF命令以redis协议追加保存每次写的操作到文件末尾。Redis还能对AOF文件进行后台重写,使得AOF文件的体积不至于过大。如果你只希望你的数据在服务器运行的时候存在,你也可以不使用任何持久化方式。也可以同时开启两种持久化方式,在这种情况下, 当redis重启的时候会优先载入AOF文件来恢复原始的数据。

2024-09-02 08:00:00 754

2023泛互联网行业人才流动报告-脉脉高聘人才智库-2023.9-28页

2023泛互联网行业人才流动报告-脉脉高聘人才智库-2023.9-28页

2023-10-09

Java解析wsdl文档获取具体的方法与参数

Java解析wsdl文档获取具体的方法与参数

2022-06-20

SpringBoot项目Jar转War部署方案

本文提供SpringBoot项目Jar转War部署方案,希望能够对各位提供帮助!

2018-12-10

全国城市列表对应的JSON数据

全国城市列表对应的JSON数据。。。。。。。。。。。。。。。。。。。

2018-01-30

android复习材料

android复习,有激励与学习android的学生,工人,社会人员学习Android,进行Android开发

2016-01-19

空空如也

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

TA关注的人

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