- 博客(12)
- 收藏
- 关注
原创 TCP流量控制
TCP利用滑动窗口机制达到流量控制的目的,是传输层进行流控的一种措施。TCP滑动窗口分为接受窗口,发送窗口: 接收方通过通告发送方自己的窗口大小(在返回的ACK中包含自己接收窗口的大小),从而控制发送方的发送速度,从而防止发送方发送速度过快而导致自己被淹没的目的。ACK包含两个非常重要的信息: 一是期望接收到的下一字节的序号n,该n代表接收方已经接收到了前n-1字节数据,此时如果接收方收到第n+1...
2018-05-28 09:14:40 383
原创 CopyOnWriteArrayList解析
昨天在面试的时候被问到CopyOnWriteArrayList,发现自己一点不知道,赶紧学习一波~~CopyOnWriteArrayList,用于遍历操作为主要操作的情况,是线程安全的。在某些情况下它提供了更好的并发性能,在迭代期间不需要对容器进行加锁或复制。(迭代器保留一个指向底层基础数组的引用)。 写入时复制(CopyOnWrite),其中所有修改操作(add,set,remove等...
2018-05-28 09:09:15 328
原创 Java基础需要注意的细节(良心总结)
最近在复习一下Java的基础知识,总结一些容易忽略的细节。有不对的地方,欢迎大家回馈,共同进步~~Java跨平台性:指的是Java语言的跨平台性,一次编译,多处可用。但JVM要根据平台安装对应的Java中写数字时,默认的变量类型是int和double,注意丢失精度的问题 比如byte b=3; b=b+2; //这里会编译出错 (因为2默认是int)&...
2018-05-23 21:39:36 1192
原创 StringBuffer与StringBuilder源码解析
这是源码中2个类的声明public final class StringBuilder extends AbstractStringBuilder implements java.io.Serializable, CharSequencepublic final class StringBuffer extends AbstractStringBuilder implements...
2018-05-23 19:56:24 163
原创 GC解析
GC,即Java垃圾回收。Java采用的是类似于树形结构的可达性分析法来判断对象是否还存在引用,对不存在引用的对象进行GC。JVM垃圾回收的root根对象有以下几种:(1)虚拟机(JVM)栈中引用对象(2)方法区中的类静态属性引用对象(3)方法区中常量引用的对象(final的常量值)(4)本地方法栈JNI的引用对象GC触发的条件有两种:(1)程序调用System.gc()时可以触发;(不建议)(2...
2018-05-23 19:14:28 186
原创 Java异常
在现实中充满了不良的代码和有错误的代码,在程序运行时,由于一些错误或其他外部环境的影响造成用户数据的丢失,用户就可能不在使用这个程序了。为解决这些问题,Java使用一种称为异常处理的错误捕获机制处理。 一、异常分类 在Java中,异常对象都是派生于Throwable类,上图即为Java中的异常层次结构图。 Error类描述了Java运行时系统的内部错误和资...
2018-05-21 11:00:05 132
原创 Java(TM) Platform SE binary未响应
说明:本人将web部署到服务器上,启动tomcat运行。本来一直好好的,然后突然无法访问页面 然后到服务器上查看,发现服务器的tomcat在运行,又弹出Java(TM) Platform SE binary未响应的一个窗口点击关闭后,tomcat也退出了,重启之后又能服务了。但是这也不是办法,总不能一有问题就重启吧。仔细分析:tomcat不能服务,根据提示就是JVM停止工作导致的, 1...
2018-05-17 13:18:48 16750
原创 Ajax动态画EChart图表
本人由于项目需要,在状态变化的时候需要动态绘制对应数据的EChart图表,并且不刷新整个网页。所以就用Ajax动态画EChart图表,下面是开发过程中遇到的一些坑的总结。流程:页面首次加载时展示一幅原始的图形,若后台数据更新,则进行一定的业务处理后,前端通过AJAX动态绘制出最新的数据一、前端JSP代码 准备一个放图表的容器 <div id="AScanChart" style...
2018-05-17 08:37:44 1107
原创 多线程下类的初始化过程
本文对Java多线程情况下类初始化过程中做一个总结说明:Java语言规范规定,对于每一个类或者接口,都有一个唯一的初始化锁与之对应总结为4个阶段一、获取Class对象的初始化锁 获取Class对象的初始化锁来控制类或者接口的初始化过程,这个锁是线程阻塞的(即A获取了锁,B线程就会等待)二、获得了锁的线程A进行初始化 执行类的静态初始化: ...
2018-05-14 21:31:07 1155
原创 org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'MonitorServiceImpl'
SSH框架的web开发中,报了这么一个错误。根据提示:No bean named 'MonitorServiceImpl' is defined 就是说你的这个bean没有定义,spring找不到解决思路:1.是否正确使用注解将bean放入Spring容器中,如@Service2.判断bean所在的路径是否在Spring的扫描范围内3.bean的默认第一个字母小写(这也是我犯错误的原因...
2018-05-14 09:49:11 690
原创 Java代理
一、概述 代理(Proxy)是一种设计模式,间接访问目标对象的访问方式,代理就是类似一个中介的角色。可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 现实中的例子:明星(被代理对象)和经纪人(代理),商家都是联系经纪人, 而不是直接联系明星。明星只是负责表演,唱歌,而经纪人是直接与商家对话,然后让明星干.....(调用被代理对象的方法)二、分类2.1静态代理 静态代理使用...
2018-05-11 13:35:48 128
原创 JVM类加载过程
java代码编译后,会生成JVM能够识别的二进制字节流文件(*.class)。在Class文件中描述的各种信息,最终需要JVM把其加载到JVM内存中才能运行和使用。一、概论 JVM把描述类数据的字节码.Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的java类型,这就是虚拟机的类加载机制。 类加载都是在程序运行期间完成的,这种策略虽然会令类加...
2018-05-10 15:10:00 148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人