JAVA
雪荠
从事Java开发五年多了偏向Web开发
展开
-
JAVA包装类及其拆箱装箱及Integer类拆装箱的细节
JAVA包装类及其拆箱装箱及Integer类拆装箱的细节原创 2014年03月20日 02:17:12标签:java1311在JAVA中,数据类型可分为两大种,基本数据类型(值类型)和类类型(引用数据类型)。基本类型的数据不是对象,所以对于要将基本数据类型当对象使用的情况,JAVA提供的包装类。基本类型和包装类的对应关系如下:转载 2017-12-09 22:06:36 · 222 阅读 · 0 评论 -
Java关键字transient和java对象流
transient和volatile两个关键字一个用于对象序列化简单总结一下。transienttransient是类型修饰符,只能用来修饰字段。在对象序列化的过程中,标记为transient的变量不会被序列化。示例:class Test {transient int a; // 不会被持久化int b; // 持久化}当类Test的实例对象被序列化(比如将Test类的实例对象 t 写入硬盘的文本...翻译 2018-05-24 10:04:58 · 219 阅读 · 0 评论 -
JAVA多线程之volatile 与 synchronized 的比较
JAVA多线程之volatile 与 synchronized 的比较面试时很可能遇到这样一个问题:使用volatile修饰int型变量i,多个线程同时进行i++操作,这样可以实现线程安全吗?提到线程安全、线程同步,我们经常会想到两个关键字:volatile和synchronized,那么这两者有什么区别呢?一,volatile关键字的可见性要想理解volatile关键字,得先了解下JAVA的内存...翻译 2018-05-26 18:42:34 · 138 阅读 · 0 评论 -
JVM直接内存
JVM直接内存2018年01月03日 15:40:40阅读数:1278概述直接内存并不是虚拟机运行时数据区的一部分,也不是Java 虚拟机规范中农定义的内存区域。在JDK1.4 中新加入了NIO(New Input/Output)类,引入了一种基于通道(Channel)与缓冲区(Buffer)的I/O 方式,它可以使用native 函数库直接分配堆外内存,然后通脱一个存储在Java堆中的Direc...转载 2018-05-15 09:33:01 · 143 阅读 · 0 评论 -
Java对象的序列化与反序列化
序列化与反序列化序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。一般将一个对象存储至一个储存媒介,例如档案或是记亿体缓冲等。在网络传输过程中,可以是字节或是XML等格式。而字节的或XML编码格式可以还原完全相等的对象。这个相反的过程又称为反序列化。Java对象的序列化与反序列化在Java中,我们可以通过多种方式来创建对象,并且只要对象没有被回收我们都可以复...转载 2018-04-26 14:04:29 · 174 阅读 · 0 评论 -
Java 创建对象的几种方式
我们总是讨论没有对象就去new一个对象,创建对象的方式在我这里变成了根深蒂固的new方式创建,但是其实创建对象的方式还是有很多种的,不单单有new方式创建对象,还有使用反射机制创建对象,使用clone方法去创建对象,通过序列化和反序列化的方式去创建对象。这里就总结一下创建对象的几种方式,来好好学习一下java创建对象的方式。一、使用new关键字这是我们最常见的也是最简单的创建对象的方式,通过这种方...转载 2018-04-26 13:36:09 · 131 阅读 · 0 评论 -
JVM之内存分配与回收策略
JVM之内存分配与回收策略前言 对象的内存分配,往大的方向上讲,就是在堆上分配,少数情况下也可能会直接分配在老年代中,分配的规则并不是百分之百固定的,其细节决定于当前使用的是哪种垃圾收集器组合,当然还有虚拟机中与内存相关的参数。垃圾收集器组合一般就是Serial+Serial Old和Parallel+Serial Old,前者是Client模式下的默认垃圾收集器组合,后者是Server模...转载 2018-05-03 18:04:18 · 97 阅读 · 0 评论 -
读《深入理解jvm虚拟机》之长期存活对象进入老年代,有感!!!!
读《深入理解jvm虚拟机》之长期存活对象进入老年代,有感!!!!关于这一段代码 有几个不是让人很理解的地方,我一一说来。 1.Desired survivor size 524288 bytes 关于这个512KB空间是怎么来的,JVM有这样一个参数: -XX:TargetSurvivorRatio:目标存活率,默认为50%,表明所有age的survivor space对象的大小如果超过Des...翻译 2018-05-03 16:33:48 · 1533 阅读 · 2 评论 -
String intern方法及常量池理解
几张图轻松理解String.intern()标签: 编译器 虚拟机 intern 常量池 字符串2017年04月12日 20:35:496817人阅读 评论(13) 收藏 举报 分类:-------【Java基础】(5) 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/soonfly/article/details/70147205在翻《深入理解...翻译 2018-04-21 20:33:06 · 711 阅读 · 1 评论 -
获得一周周一和周日时间
/** * 得到本周周一 * * @return yyyy-MM-dd */ public static String getMondayOfThisWeek() { Calendar c = Calendar.getInstance(); int day_of_week = c.get(Calendar.DAY_OF_WEEK) - 1; if (day_of_week == 0...原创 2018-05-03 13:12:00 · 230 阅读 · 0 评论 -
分布式协调技术
一、分布式协调技术在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技术。那么什么是分布式协调技术?那么我来告诉大家,其实分布式协调技术 主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成"脏数据"的后果。这时,有人可能会说这个简单,写一个调 度算法就轻松解决了。说这句话的人,可能对分布式系统不是很了解,所以才会出现这种误解。如果这些进程...转载 2018-04-16 10:47:11 · 2585 阅读 · 0 评论 -
HttpClient使用时遇到几个隐蔽小坑分析
HttpClient使用时遇到几个隐蔽小坑分析2015年09月24日 11:27:16阅读数:3688问题场景一: 1.在用get方法去获取数据时,一直都是好好的运行状态,突然遇到“Attempted read from closed stream” 错误。 相关方法用到的代码贴上: HttpGet httpGet = new HttpGet(...转载 2018-07-25 15:07:06 · 622 阅读 · 0 评论