![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java 基础
文章平均质量分 68
Smox
这个作者很懒,什么都没留下…
展开
-
Collection 简介
线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图通过简单的描述,向读者阐述各个类的作用以及如何正确使用这些类。 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map转载 2011-11-23 11:25:31 · 754 阅读 · 0 评论 -
TCP/IP协议栈
TCP/IP协议栈主要分为四层:应用层、传输层、网络层、数据链路层,每层都有相应的协议,如下图所谓的协议就是双方进行数据传输的一种格式。整个网络中使用的协议有很多,所幸的是每一种协议都有RFC文档。在这里只对IP、TCP、UDP协议头做一个分析。首先来看看在网络中,一帧以太网数据包的格式:在Linux 操作系统中,当我们想发送数据的时候,我们只需要在转载 2017-02-12 15:25:20 · 778 阅读 · 0 评论 -
Http中Cookie的HttpOnly和secure属性
Cookie语法:Cookie通常是作为HTTP 应答头发送给客户端的,下面的例子展示了相应的语法(注意,HttpOnly属性对大小写不敏感): Html代码 Set-Cookie: =[; =] [; expires=][; domain=] [; path=][; secure][; HttpOnly] 属性含义1 secure原创 2016-12-21 15:44:00 · 10552 阅读 · 0 评论 -
单例模式、访问者模式 (组内分享)
JAVA基本特性:抽象,封装,继承,多态设计模式都是基于这些特性总结的一些模式化的解决方案。所以有必要了解下。 设计模式基本概念:OO,UML,原则,分类 单例模式访问者模式原创 2016-12-13 14:11:20 · 494 阅读 · 0 评论 -
从Java视角理解系统结构(三)伪共享
从Java视角理解系统结构连载, 关注我的微博(链接)了解最新动态从我的前一篇博文中, 我们知道了CPU缓存及缓存行的概念, 同时用一个例子说明了编写单线程Java代码时应该注意的问题. 下面我们讨论更为复杂, 而且更符合现实情况的多核编程时将会碰到的问题. 这些问题更容易犯, 连j.u.c包作者Doug Lea大师的JDK代码里也存在这些问题.MESI协议及RFO请求从前转载 2016-10-30 19:40:16 · 402 阅读 · 0 评论 -
Java并发基础
Executors•这是一种任务分解。任务提供者和执行者•在本线程内完成,或者交给专门的Executor去执行。BlockingQueue•常用的工具类,用于数据流分解•读取阻塞,插入阻塞(可选)•ArrayBlockingQueue–FIFO,有上限•LinkedBlockingQueue–FIFO,可能有上限•PriorityBlockingQueue–转载 2016-10-26 21:57:25 · 289 阅读 · 0 评论 -
synchronized 底层实现
目前在Java中存在两种锁机制:synchronized和Lock,Lock接口及其实现类是JDK5增加的内容,其作者是大名鼎鼎的并发专家Doug Lea。本文并不比较synchronized与Lock孰优孰劣,只是介绍二者的实现原理。数据同步需要依赖锁,那锁的同步又依赖谁?synchronized给出的答案是在软件层面依赖JVM,而Lock给出的方案是在硬件层面依赖特殊的CPU指令,转载 2016-10-26 21:53:19 · 502 阅读 · 0 评论 -
Alibaba FastJson支持对象中私有属性的json解析
项目中需要使用fastjson做数据处理,而且部分对象中的属性很多都是非public的,且没有getter/setter方法,找了很久没有找到fastjson对这个问题的解决。所以自己动手,基于fastjson的源代码构造了单独的javabean的序列化器。使用方式:直接使用封装好的MetaJsonUtil的工具方法即可。fastjson版本为1.2.7MetaJs原创 2015-10-15 17:15:01 · 12310 阅读 · 1 评论 -
Java线程安全问答(草稿)
什么是线程安全?为什么也好关注原创 2014-09-24 14:42:36 · 687 阅读 · 0 评论 -
JAVA上传图像时图像处理的基本方法
一,form表单类型原创 2014-09-22 17:11:12 · 3476 阅读 · 0 评论 -
Apache POI 创建Excel文件实例
需要达到原创 2014-09-10 17:22:29 · 941 阅读 · 0 评论 -
Java内存溢出 及 解决方案
一、内存溢出类型1、java.lang.OutOfMemoryError: PermGen spaceJVM管理两种类型的内存,堆和非堆。堆是给开发人员用的上面说的就是,是在JVM启动时创建;非堆是留给JVM自己用的,用来存放类的信息的。它和堆不同,运行期内GC不会释放空间。如果web app用了大量的第三方jar或者应用有太多的class文件而恰好MaxPermSize设置较小,转载 2011-11-25 10:59:57 · 648 阅读 · 0 评论 -
Java GC 相关的4种引用
1. Strong ReferenceStrongReference 是 Java 的默认引用实现,它会尽可能长时间的存活于 JVM 内, 当没有任何对象指向它时Java GC 执行后将会被回收@Test public void strongReference() { Object referent = new Object(); /** * 通过赋值创建 St转载 2011-11-23 17:01:31 · 960 阅读 · 0 评论 -
Java栈和栈桢
Java中的栈每当启用一个线程时,JVM就为他分配一个Java栈,栈是以帧为单位保存当前线程的运行状态。某个线程正在执行的方法称为当前方法,当前方法使用的栈帧称为当前帧,当前方法所属的类称为当前类,当前类的常量池称为当前常量池。当线程执行一个方法时,它会跟踪当前常量池。每当线程调用一个Java方法时,JVM就会在该线程对应的栈中压入一个帧,这个帧自然就成了当前帧。当执行这个方法时,转载 2011-11-24 14:14:48 · 4524 阅读 · 1 评论 -
Java常量池
理解Java常量池JVM运行时数据区的内存模型由五部分组成:【1】方法区【2】堆【3】JAVA栈【4】PC寄存器【5】本地方法栈对于String s = "haha" ,它的虚拟机指令:0: ldc #16; //String haha 2: astore_1 3: return对于上面虚拟机指令,其各自的指令流程在《深入JAVA虚拟机》这样描转载 2011-11-24 10:26:12 · 886 阅读 · 0 评论 -
Java 序列化全解密
何为序列化,反序列化Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据、有关对象的类型的信息和存储在对象中数据的类型。也就是将Java对象序列化为二进制形式。 将序列化对象写入文件之后,可以从文件或网络中中读取出来,并且对它进行反序列化,也就是说,对象的类型信息、对象的数据,还有对象中的数据类型可以用来在内存中新建对象。 如何序列化,反序原创 2017-03-11 18:05:45 · 830 阅读 · 0 评论