摘要: 1 概念 java virtual machine为java虚拟机,运行使用jdk中编译器编译的java程序。 2 JVM内存模型:5个 程序计数器:线程私有。当前线程正在执行的行号指示器。 Java虚拟机栈:线程私有。即将运行的java方法创建的区域。内存不足:java.lang.StackOve 阅读全文
posted @ 2018-11-13 09:57 sun-sailing 阅读(309) 评论(0) 推荐(0)
摘要: concurrent在哪儿:jdk\jre\lib\rt.jar package java.util.concurrent; 本文从特性、分类、扩展方面一一道来。 1 特性 包中包含大量有用的构建块,线程安全集合、线程池、信号和同步工具。可以用来改进并发的性能,使用这些后可以减少代码中的同步等。 2 阅读全文
posted @ 2018-11-12 09:28 sun-sailing 阅读(360) 评论(0) 推荐(0)
摘要: 在哪儿:jdk\jre\lib\rt.jar package java.io; package java.nio; 1 分类 1.1 IO 持久化序列化对象并压缩步骤 new FileOutputStream 文件输出流,用于向文件进行写入操作。 BufferedOutputStream缓冲输出流, 阅读全文
posted @ 2018-11-09 17:30 sun-sailing 阅读(426) 评论(0) 推荐(0)
摘要: 前言:关于这个话题网上有很多,本文旨在引导实战纠偏,理论偏少,如果按照步骤还不能达到本文目的,请留言。 1 环境准备 1.1 软件准备 idea:官方下载社区版,下载后安装 maven:Apache-maven-3.3.9,为一个压缩包,解压到指定路径 jdk:jdk1.8.0_131,下载后安装, 阅读全文
posted @ 2018-11-09 09:16 sun-sailing 阅读(2178) 评论(0) 推荐(0)
摘要: 1 是什么 是为了解决facebook系统中各系统间大数据量的传输通信,以及系统之间语言环境不同需要跨平台的问题。 是一种实现RPC的软件框架,自定义IDL(Interface description language)接口描述语言 2 为什么用 当跨语言调用时,使用http是个比较好的访问协议,但 阅读全文
posted @ 2018-10-26 13:27 sun-sailing 阅读(1126) 评论(0) 推荐(0)
摘要: 在开发过程中使用到的工具越来越多,越来越离不开他们了,你们也有很多不错且常用的工具吗,一起来分享吧! 阅读全文
posted @ 2018-10-24 13:13 sun-sailing 阅读(2076) 评论(0) 推荐(0)
摘要: 1 版本控制系统是什么 当多人协作开发一套产品时,需要能够保证代码都能够共用,那么版本控制系统就应运而生。 2 GIT 当前用的比较多的是svn和git,本文以git为例进行讲解。 git诞生于2005年,该系统开发者对该系统制定了若干目标: 速度 简单的设计 对非线性开发模式的强力支持 完全分布式 阅读全文
posted @ 2018-10-24 11:25 sun-sailing 阅读(1084) 评论(0) 推荐(0)
摘要: 1 概念 序列化,将java对象转换成字节序列的过程。 反序列化,将字节序列恢复成java对象的过程。 2 为什么要序列化? 2.1 实现数据持久化,当对象创建后,它就会一直在,但是在程序终止时,这个对象就被销毁了。如果序列化对象进行持久化了,那么该对象可以被程序加载后被重建。 2.2 网络传输,不 阅读全文
posted @ 2018-10-22 15:25 sun-sailing 阅读(410) 评论(0) 推荐(0)
摘要: jdk:1.8.0_65 1 前言 首先需要了解什么是原子性,可以理解为CPU层面不能分割的操作,原子性只有两种状态,要么改变,要么不改变。如果多线程同时更新同一个变量,非原子操作都会出现线程安全问题,导致多线程执行后获取到的变量值与期望值不一致。 那么如何解决线程安全问题呢,可以实现一个原子操作, 阅读全文
posted @ 2018-10-19 18:08 sun-sailing 阅读(912) 评论(0) 推荐(1)
摘要: JAVA数据结构有8种,如下所示,本文从使用场景,优缺点方面讲解。 1 数组Array ArrayList 使用场景:有序的存储同一类型数据的集合,固定大小 优点:通过索引查找方便 缺点:插入或删除一个值时,改变值之后的索引都需要更新,故操作复杂;其次,由于大小固定,造成了设置过大内存浪费,设置过小 阅读全文
posted @ 2018-10-15 16:04 sun-sailing 阅读(498) 评论(0) 推荐(0)
摘要: jar准备:dom4j-2.1.1.jar jaxen-1.1.6.jar jaxen/jaxen/ Maven依赖写法 <dependency> <groupId>jaxen</groupId> <artifactId>jaxen</artifactId> <version>1.1.6</vers 阅读全文
posted @ 2018-10-10 16:13 sun-sailing 阅读(672) 评论(0) 推荐(0)
摘要: 前言 在java中经常遇到使用classname.method()的方式调用方法,哪些场景需要用到呢,如下: 某些操作不依赖具体实例 某个方法是用频率较高,或者方法本身通用性较强,无需初始化类成员变量 实现某些特殊的设计模式:如Singleton 解决:static修饰方法 static修饰的方法, 阅读全文
posted @ 2018-10-03 17:10 sun-sailing 阅读(2213) 评论(0) 推荐(0)
摘要: 重要申明:感谢原文作者——沐风的心,想看原文请戳这里!我借鉴了原文的页面请求流程,原文见时序图之后正文。 重要申明:感谢原文作者——一行两行,想看原文请戳这里!我借鉴了原文的完整HTTP请求流程。 增加了时序图,有不妥之处,欢迎指正~~ (未完待续,需要增加后端服务器框架内部处理) 一、引言 前端不 阅读全文
posted @ 2018-10-03 13:54 sun-sailing 阅读(8572) 评论(1) 推荐(0)
摘要: 本文主要讲解String、StringBuilder、StringBuffer区别和应用场景 本文以jdk1.8为例 1 String 操作过程:每次赋值时新建一个String对象。 2 StringBuilder 所在路径:rt.jar java.lang 实现抽象类AbstractStringB 阅读全文
posted @ 2018-10-03 06:23 sun-sailing 阅读(1006) 评论(0) 推荐(0)
摘要: 1.1 dom4j下载 请移步下载链接 1.2 maven依赖 2 使用dom4j生成xml文档详细步骤 步骤1 创建一个Document对象的空白文档。 步骤2 向Document中添加根元素,返回的Element表示根元素,xml文档只有一个根元素。 步骤3 添加子元素。 步骤4 创建XmlWr 阅读全文
posted @ 2018-10-02 21:48 sun-sailing 阅读(570) 评论(0) 推荐(0)