java内功系列
文章平均质量分 81
yu_liantao
这个作者很懒,什么都没留下…
展开
-
java内功系列一(集合)
1.java集合分为set(无序不可重复)、list(有序可重复)、map(映射)、queue(队列集合)。可以把它们看作一种容器,装载着对象的引用。集合和数组的区别在于数组一旦大小确定就不能继续变了,并且集合只能保存对象的引用,数组除了对象引用还可以保存基本类型。集合都放在java.util下,在java5后针对多线程又添加了一个包java.util.concurrent。所有集合都是继承col...原创 2018-08-17 14:12:01 · 433 阅读 · 0 评论 -
java内功系列六(泛型、异常、注解)
泛型: 1.泛型的出现主要解决了容器中元素放进去后直接变成了object类型。在编译的时候如果传入错误的元素将会出错。 2.每次传给泛型类、接口的类型参数不一样相当于创建了一个新的类。list<string>和list以及list<int>是不一样的类型。(逻辑上存在物理上不存),list<string>和list<int>在物理上对应的文件还是l...原创 2018-09-17 15:02:51 · 153 阅读 · 0 评论 -
java内功系列五(类加载与反射)
1.java程序启动时启动了一个jvm的虚拟机进程,所有线程变量都在该虚拟机中。 2.当程序使用某个类时发现没有那么会从文件中加载到内存中,并创建一个java.lang.class对象。(加载、链接、初始化),类时对事物的抽象,其实类本身也是一种事物,对它的抽闲就是java.lang.class,所以系统中的所有类其实也是实例(java.lang.class实例)。 3.类加载器有根加载器(jvm...原创 2018-09-17 15:00:49 · 148 阅读 · 0 评论 -
java内功系列四(网络)
1.java.net包下提供URL(协议+地址+端口+资源)和URLConenction提供web访问服务。URLDecoder和URLEncoder提供字符串和编码方式转换。 2.InetAddress代表ip地址,提供2个静态方法获取(ip地址和主机名),并提供几个方法返回IP和主机名。 3.URL类提供了远程资源的信息,并且提供获取URLConnection对象的方法(openStream)...原创 2018-09-17 14:59:15 · 182 阅读 · 0 评论 -
Java内存模型(Java Memory Model)简易描述
https://www.imooc.com/article/19273?block_id=tuijian_wz 一、概述 关于现代CPU与Cache、RAM之间的数据与指令交互以及由此产生的一致性问题解决方案如MESI等这里就不说了,网上也有很多文章讲解到这些,这里说一下Java虚拟机的内存模型。 二、Java中的主内存与工作内存 1.主内存(Main Memory) 主内存可理解为Java...转载 2018-08-30 16:05:56 · 335 阅读 · 0 评论 -
JVM相关
https://www.cnblogs.com/jiyukai/category/974036.html 1.初识JVM JVM(Java Virtual Machine)是Java运行的基石。它向下通过映射规则关联并操作所有操作系统,向上提供一系列的JavaAPI。是Java与硬件无关,与操作系统无关,跨平台运行的关键存在。 JVM不关心Java源文件,只关心源文件生成的class f...转载 2018-08-31 16:16:43 · 115 阅读 · 0 评论 -
GC的工作
http://inotgaoshou.iteye.com/blog/757470 https://www.cnblogs.com/jiyukai/p/9292348.html (2010年04月09日) 发表于 ChinaUnix 一个优秀的Java程序员必须了解GC的工作原理、如何优化GC的性能、如何与GC进行有限的交互,有一些应用程序对性能要求较高,例如嵌入式系统、实时系统等,只有全面提...转载 2018-08-31 15:34:57 · 166 阅读 · 0 评论 -
全面理解Java内存模型
https://blog.csdn.net/suifeng3051/article/details/52611310 https://blog.csdn.net/weixin_36795183/article/details/79420771 http://ifeve.com/java-memory-model-6/ Java内存模型即Java Memory Model,简称JMM。JMM定...转载 2018-08-31 14:40:47 · 90 阅读 · 0 评论 -
java内存结构和垃圾回收
作为一般人需要了解到的,JVM的内存区域可以被分为:线程栈,堆,静态方法区(实际上还有更多功能的区域,并且这里说的是JVM的内存区域,实际上Java程序还可以调用native方法使用直接内存)。 本文接下来就重点说说这三个区域。 1. 线程栈 简介 注意这个栈和数据结构中的stack有相似之处,但并不是用户态的。准确的讲它压入的每个栈帧(Stack Frame)是程序指令以及局部变量表,每个...转载 2018-08-31 14:15:37 · 92 阅读 · 0 评论 -
什么是Java内存模型?
https://blog.csdn.net/bjweimengshu/article/details/79597938 说”JVM内存模型“,有人会说是关于JVM内存分布(堆栈,方法区等)这些介绍,也有地方说(深入理解JVM虚拟机)上说Java内存模型是JVM的抽象模型(主内存,本地内存)。这两个到底怎么区分啊?有必然关系吗?比如主内存就是堆,本地内存就是栈,这种说法对吗? 时间久了,我也把内...转载 2018-08-31 13:33:41 · 138 阅读 · 0 评论 -
JVM内存结构分析
转:https://www.cnblogs.com/jiyukai/p/6665199.html 对于Java程序员来说,内存是由JVM自动管理的,所以一旦出现内存泄漏或溢出的问题,不了解JVM的内存结构和各个内存区域的工作职责,将对解决问题带来很大的麻烦,本文参照周志明的《深入理解Java虚拟机》,介绍JVM的内存结构,比较枯燥,但对知其然,不知所以然的编码人员来说还是有一定帮助的。 按...转载 2018-08-31 10:55:11 · 82 阅读 · 0 评论 -
java内功系列三(多线程)
1.并发和并行区别:并行指某时刻多个同时执行,并发指某时刻只能有一个执行但是由于cpu的轮换执行宏观上感觉是同时执行。 2.线程拥有自己的堆栈、程序计数器、局部变量。但是多个线程只能共享父进程的全部资源。 3.线程启动几种方式。一:继承Thread后重写run方法后就可以实例化对象用star()启动一个线程执行(多个thread之间不能共享)。二:实现Runnable(多个thread启动时传...原创 2018-08-28 17:25:20 · 206 阅读 · 0 评论 -
java内功系列二(IO && NIO && AIO )
1.java.io下包括输入和输出2中IO流,每种IO流又分为字节流和字符流两大类(按照是否直接与目的源交互又分为节点流和处理流,处理流其实是封装了节点流在更高层实现数据的处理,这样java程序可以使用一致的代码爱处理不同的节点流,不管来之文件还是网络还是键盘,详见下图)。java7提供了NIO更高效。java程序可以把对象序列化成字节流放在磁盘或者网上传送,这是分布式编程的基础。 2.中文是1...原创 2018-08-27 10:07:02 · 163 阅读 · 0 评论 -
JSR303的数据校验-Hibernate Validator方式实现
1.什么是JSR303? JSR303是java为bean数据合法性校验所提供的一个标准规范,叫做Bean Validation. Bean Validation是一个运行时的数据校验框架,在验证之后验证的错误信息会被马上返回。 2.实现方式:Hibernate Validator 3.JSR303定义了一套可以标注在成员变量、属性方法上的校验注解。 @Null 验证对象...转载 2018-10-18 17:13:11 · 243 阅读 · 0 评论