自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Netty框架 - 引导类Bootstrap

Bootstrap是Socket客户端创建工具类,通过Bootstrap可以创建Netty的客户端,并发起异步TCP连接操作。Bootstrap不是线程安全。Netty源码分析。

2020-03-14 17:16:12 1458

原创 Netty框架 - TCP参数设置ChannelOption

Bootstrap是Netty提供的客户端连接工具类,主要于简化客户端的创建。常用功能之一是TCP参数设置接口(ChannelOption参数)

2020-03-14 16:08:03 2137

原创 spring事务注解@Transactional - proxy-target-class

proxy-target-class=“true”基于类的代理将起作用(cglib库)proxy-target-class=“false”基于接口的代理将起作用(标准的JDK,默认选项)

2020-03-13 22:34:10 1171

原创 Netty框架

Netty是一个异步的,事件驱动的网络框架,我们可以使用它来开发高性能客户端和服务器。目录核心概念选择器原理Selector核心概念ChannelChannel是Java NIO的基础。它表示一个开放的连接,能够执行IO操作,例如读取和写入。Channel向开发人员提供以下内容:通道的当前状态(例如,是否打开?是否已连接?)通道的配置参数(例如,接收缓冲区大小)...

2019-12-31 11:44:10 210

原创 BloomFilte 布隆过滤器原理与实现

布隆过滤器介绍布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难为什么要用布隆过滤器?遇到判重系统和缓存穿透时,伴随数据量很大,数十亿甚至更多,内存装不下且数据库检索又极慢的情况,考虑下布隆过...

2019-08-29 19:55:22 955

原创 分布式服务框架 Zookeeper集群

什么是zookeeperzookeeper是一个开源的分布式协调服务。zookeeper 的设计目标:简单的数据模型、可构建集群、顺序访问、高性能。zookeeper的特点:顺序一致性、原子性、单一系统映像、可靠性ZooKeeper 集群集群角色主节点Leader既可以为客户端提供写服务又能提供读服务,主节点跟踪从节点状态和任务的有效性,并分配任务到从节点。如...

2019-07-09 13:22:07 134

原创 Java设计模式-GoF设计模式

设计模式之间的区别1、工厂模式与建造者模式工厂模式 关注的是创建单个产品,建造者模式 关注创建符合对象,多个部分。2、策略模式与桥接模式1、桥接(Bridge)模式是结构型模式,策略(strategy)模式属于行为模式2、桥接主要是接口隔离的原则,策略在解耦上还仅仅是某一个算法的层次3、策略模式的结构是包容在桥接模式结构中的附:接口隔离的原则即把本质上并不内...

2019-04-14 12:44:17 387

原创 JVM参数解析与Java虚拟机性能调优

堆空间 -Xms32m 初始堆空间 -Xmx32m 最大可用堆空间 -Xmn1m 新生代的大小 -XX:NewRatio=2 老年代/新生代 -Xss128K 线程的最大栈空间 -XX:TargetSurvivorRatio=15 survivor区的目...

2019-04-06 14:16:16 227

原创 逃逸分析和栈上分配

逃逸分析:当一个Java对象被定义后,可能会被外部方法引用在JDK 6之后支持对象的栈上分析和逃逸分析,在JDK 7中完全支持栈上分配对象。 其是否打开逃逸分析依赖于以下JVM的设置:-XX:+DoEscapeAnalysis方法逃逸:被当作参数传递到了其他方法中线程逃逸:被其他线程访问锁消除:能证明Java对象不会逃避到其他线程,不可能存在竞争却申请锁的代码...

2019-03-24 12:21:37 704

原创 Thread.interrupted、Thread.isInterrupted、Thread.interrupt

interrupt()调用线程的interrupt方法,并不能真正中断线程,只是给线程做了中断状态的标志在一个线程中调用另一个线程的interrupt()方法,即会向那个线程发出信号——线程中断状态已被设置。至于那个线程何去何从,由具体的代码实现决定。常见现象:“当调用interrupt方法时,调用对象的线程就会抛出InterruptedException异常”,如果检查线程中断状态...

2018-12-22 10:56:28 1203 1

原创 AQS框架图-Java锁机制-同步器框架

AbstractQueuedSynchronizer是整个java.util.concurrent包的核心。在JDK1.5时引入,该包中的大多数同步器都是基于AQS来构建的。AQS框架提供了一套通用的机制来管理同步状态(synchronization state)、阻塞/唤醒线程、管理等待队列。我们所熟知的ReentrantLock、CountDownLatch、CyclicBarrier...

2018-12-21 08:34:44 508

原创 @SpringBootApplication

@SpringBootApplication@SpringBootApplication是一个组合注解,它整合了@Configuration、@EnableAutoConfiguration和@ComponentScan注解,并开启了Spring Boot 程序的组件扫描和自动配置功能。@SpringBootApplication 等价于 (@Configuration + @EnableAuto...

2018-05-23 01:56:04 416 1

原创 SpringCloud微服务架构的优点

微服务架构的优点1、易于开发和维护2、单个微服务启动较快3、技术栈不受限4、按需伸缩微服务架构面临的挑战1、运维要求较高2、分布式固有的复杂性3、接口调整成本高(修改某一微服务的API,所有引用都要调整)4、重复劳动(某一个功能未达到微服务的程度,各个服务会开发此功能。方案是公共组件,但多语言环境不一定适用)https://blog.csdn.net/okxuew...

2018-05-23 00:38:33 17333 2

原创 微服务跟踪Sleuth

什么是微服务跟踪分布式跟踪系统有Zipkin,Htrace等,它可以帮助我们收集一些由服务实时产生的数据(主要是日志),通过这些数据可以分析出分布式系统的健康状态、服务调用过程,调用耗时等指标,为优化系统,解决问题提供了数据。Sleuth的基本概念Trace: 表示整个跟踪过程,从用户发起请求到最终的响应Span:跨度,表示一次调用的过程,一次跟踪包含多次调用过程。Zipkin是什么Zipkin是...

2018-05-20 14:42:05 293

原创 什么是微服务跟踪

分布式跟踪系统有Zipkin,Htrace等,它可以帮助我们收集一些由服务实时产生的数据(主要是日志),通过这些数据可以分析出分布式系统的健康状态、服务调用过程,调用耗时等指标,为优化系统,解决问题提供了数据。...

2018-05-19 22:40:32 262

原创 HashMap和Hashtable的区别

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都实现了Map接口。主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上高于Hashtable,HashMap允许将null作为一个entry的key或者value,Hashtable不允许。HashMap把Hashtable的contains方法去掉了,改成containsValue

2017-04-05 03:28:40 214

原创 类有哪三个基本特性?各特性的优点

类具有封装性、继承性和多态性。封装性:类的封装性为类的成员提供公有、缺省、保护和私有等多级访问权限,目的是隐藏类中的私有变量和类中方法的实现细节。继承性:类的继承性提供从已存在的类创建新类的机制,继承(inheritance)使一个新类自动拥有被继承类(父类)的全部可继承的成员。多态性:类的多态性提供类中方法执行的多样性,多态性有两种表现形式:重载和覆盖。

2017-04-04 10:47:56 6823 1

原创 Arraylist,Vector,LinkedList的存储性能和特性

ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢。

2017-04-03 08:21:11 465

原创 运行时异常与一般异常有何异同

异常表示程序运行过程中可能出现的非正常状态运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。笔者交流:javajre@163.comjava编译器要求方法必须声明抛出可能发生的非运行异常,但是并不要求必须声明抛出未被捕获的运行时异常。------------------思想------------------本土市场的领先能

2017-04-02 14:07:20 2090

原创 使用DHTML技术获取元素和增删改文档中的元素

(1)获取元素getElementById() -- 通过id来获取指定元素getElementsByName() -- 通过name来获取指定元素组成的集合数组getElementsByTagName() -- 通过标签名来获取指定元素组成的集合数组obj.value -- 获取或设置输入控件的value属性的值obj.innerHTML -- 获取或设置元素内部的html

2017-04-01 13:47:39 354

原创 JavaScript中的String对象

strVariable.length    返回 String 对象的长度。strObj.charAt(index)    返回指定索引位置处的字符。string1.concat([string2[, string3[, . . . [, stringN]]]])    返回字符串值,该值包含了两个或更多个提供的字符串的连接。strObj.indexOf(subString

2017-04-01 08:33:07 336

原创 DHTML概述

JS本身是一门和运行环境无关的独立的语言,浏览器是其最常见的运行环境。既然JS是一门和运行环境无关的独立的语言,我们又如何通过这么语言去操作浏览器及其中展示的页面呢?为了解决这个问题W3C提出来了DHTML即动态HTML技术。学习交流:javajre@163.com所谓的DHTML就是将浏览器中常用的对象和HTML中的常用标签用JS对象表示,并在这些对象上提供属性和

2017-03-31 20:21:03 398

原创 JS和HTML结合

(1)通过script标签引入在script标签内部可以直接书写js代码:function maxuewei(){alert(111);}(2)通过script标签来引入外部的js文件 注意:sccript标签不要写成自闭标签,否则会引入失败。

2017-03-31 11:08:18 419

原创 常用的CSS属性

>>display: 设置元素的显示方式block: 块级元素的默认值inline: 行内元素的默认值inline-blocknone: 隐藏元素, 这种隐藏是真的隐藏, 隐藏后元素不再占用空间了visibility: hidden 也可以隐藏元素, 但是这种隐藏只是元素不显示了, 在原位置还占用空间.>>text-align 设置元素中文本水平对齐方式left

2017-03-31 09:18:07 311

原创 JavaScript运算符

js中有数据类型, 但是在js中变量不区分数据类型, 所以称js是一个弱类型的语言.在js中通过var关键字定义一个变量, 变量没有类型区分, 可以指向任意类型的值.

2017-03-31 08:44:27 237

原创 JavaScript数据类型

(1) 基本数据类型 数值类型(number) 字符串类型(string) 布尔类型(boolean) undefined null(a)数值类型(number):在js中, 数值类型就只有一种, 都是浮点型. 但是在处理和显示的过程中, 数值类型会自动的在整型和浮点型之间进行转换.常量: 1, 5, 9, 10.1Infinity: 正无穷大-Infinity: 负无

2017-03-30 19:12:17 266

原创 在htm中引入css样式的方式

CSS概述层叠样式表,可以对html页面进行美化,实现了显示内容的html代码和展示样式的css代码的分离,增强了页面的展示能力。在html页面中引入css样式的方式(1)通过标签上的style属性引入可以使用标签上的style属性为当前标签引入具体的css样式aaabbbccccaaabbbccc(2)通过style标签的方式引入

2017-03-30 05:12:11 900

原创 HTML概述

HTML是什么Html(HyperText Mark-up Language)就是超文本标记语言的简写,是最基础的网页语言。Html是由w3c组织发布的,到目前为止,已经发展出多个 HTML 版本,其中包括html,html+,html2.0,html3.2,html4.01,html5等各种各样版本。其中较重要的版本包括html4.01和html5。可以登录w3cscho

2017-03-29 04:05:38 419

原创 XML概述

1.XML是什么?XML:Extensible Markup Language 可扩展标记语言(W3C  2000 1.0)XML是一种数据交换格式,本质上就是一段字符串XML是如何来保存数据的?在xml中,允许用户自定义标签,标签分为开始标签和结束标签,在开始标签和结束标签之间可以嵌套其他标签。正是利用标签来保存数据,利用标签与标签之间的嵌套关系来

2017-03-28 08:47:19 228

原创 ArrayList,Vector,LinkedList的存储性能和特性

ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素涉及到元素移动等内存操作,所以索引数据快而插入数据慢。Vecteor由于使用了synchronized方法(线程安全),通常性能上较ArrayList差。而LinkedList使用双向链表实现存储,序号索引数据需要进行前向或后

2017-03-27 03:55:13 244

原创 读取XML文档解析信息

dom4j是一个Java的XML API,用来读写XML文件。dom4j是一个非常优秀的Java XML API,具有性能优异、功能强大和极端易用的特点,同时它也是一个开放源代码的软件。使用dom4j来实现对XML文档的解析。详细过程如下:1 使用dom4j需要导入dom4j对应的jar包2 创建SAXReader类的对象来实现读取XML文档,代码如下:SAXReade

2017-03-26 08:59:26 421

原创 Invalid character constant

Invalid character constant意思是:无效的字符常数案例:双引号写成了单引号。

2017-03-25 22:03:24 1091

空空如也

空空如也

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

TA关注的人

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