![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
北半球先生
to be you want to be
展开
-
jvm 原理
1. 什么是JVM?JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码转载 2016-08-15 15:03:42 · 171 阅读 · 0 评论 -
java 线程wait(),notify()和notifyAll()
Java有一个内建的等待机制来允许线程在等待信号的时候变为非运行状态。java.lang.Object 类定义了三个方法,wait()、notify()和notifyAll()来实现这个等待机制。 一个线程一旦调用了任意对象的wait()方法,就会变为非运行状态,直到另一个线程调用了同一个对象的notify()方法。为了调用wait()或者notify(),线程必须先...转载 2018-04-13 11:24:30 · 136 阅读 · 0 评论 -
Java 类初始化 与 类加载器
一、java类初始化发生的情况:1.通过类名调用静态方法或静态变量2.new 该类对象,反序列化该类,clone时,class.newInstance等(总的来说就是创建该类对象时)3.通过反射生成该类 譬如class.forName("类名")二、类初始化过程1.加载类2.连接 a.验证 (校验类是否正确,比如语法等) b.准备 (为静态变量,方法分配内存,并赋予静态变量系...原创 2018-04-23 23:11:24 · 453 阅读 · 0 评论 -
面试中并发类问题的准备和学习
转自:点击打开链接转载 2018-05-11 00:34:58 · 106 阅读 · 0 评论 -
java系列之——注解
一、什么是注解 官方定义:注解是一系列元数据,它提供数据用来解释程序代码,但是注解并非是所解释的代码本身的一部分。注解对于代码的运行效果没有直接影响。注解有许多用处,主要如下:- 提供信息给编译器: 编译器可以利用注解来探测错误和警告信息- 编译阶段时的处理: 软件工具可以用来利用注解信息来生成代码、Html文档或者做其它相应处理。- 运行时的处理: 某些注解可以...原创 2018-08-14 13:27:59 · 131 阅读 · 0 评论 -
java并发之——DelayQueue 延时队列
package com.delayqueue;import java.util.concurrent.CountDownLatch;import java.util.concurrent.DelayQueue;import java.util.concurrent.Delayed;import java.util.concurrent.TimeUnit;/*延时队列DelayQueu...原创 2018-09-11 15:12:50 · 398 阅读 · 0 评论 -
java线程之——wait与notify
一、概念 wait 线程释放当前锁进入等待状态 notify 通知等待在该锁的其他线程“苏醒”二、代码清单package com.waitnotify;public class NotifyAndWaitDemo { public static void main(String[] args) { Pepole p = new Pepole...原创 2018-09-05 11:34:09 · 170 阅读 · 0 评论 -
java并发系列之——基础库与组件
地址:https://docs.oracle.com/javase/tutorial/essential/concurrency/index.html转载 2018-09-07 10:33:09 · 191 阅读 · 0 评论 -
String的Intern方法详解
转自:https://www.cnblogs.com/wxgblogs/p/5635099.html转载 2018-10-11 10:28:49 · 99 阅读 · 0 评论 -
java之——重要知识点梳理
转自:https://github.com/CyC2018/CS-Notes#memo-%E5%90%8E%E8%AE%B0转载 2018-09-27 10:18:17 · 147 阅读 · 0 评论 -
利用POI读写Excel
Apache下的POI用来操作Excel非常方便,如果操作.xsl(03版本)则用HSSFWorkbook,若操作.xslx(07版本)则用XSSFWorkbook代码清单如下:ExcelOperation:package com.excel.rw;import java.io.File;import java.io.FileInputStream;import ja...原创 2018-10-09 14:20:30 · 357 阅读 · 0 评论 -
为什么hashMap线程不安全
转自:https://www.jianshu.com/p/e2f75c8cce01转载 2019-03-19 15:10:37 · 246 阅读 · 0 评论 -
java内存模型
http://ifeve.com/java-memory-model-6/转载 2018-04-13 10:24:38 · 92 阅读 · 0 评论 -
java遍历Map最有效的方式
遍历Map的方式有很多,通常场景下我们需要的是遍历Map中的Key和Value,那么推荐使用的、效率最高的方式是:代码实例:public static void main(String[] args){ HashMap<String, String> hm = new HashMap<String, String>(); hm.put("1", "2");...原创 2018-04-12 10:27:54 · 330 阅读 · 0 评论 -
java代码优化
https://mp.weixin.qq.com/s?__biz=MjM5NzMyMjAwMA==&mid=2651480938&idx=1&sn=76c181df2a32940f7aeb8ab71defb219&pass_ticket=YnCvPEKr1Q70K8dOsUgv6Q7VZ%2B4Sl%2Ftqegsya4DXR2BpDs1B8n0bvo3LCig38...转载 2018-04-12 09:36:35 · 79 阅读 · 0 评论 -
java 之多态与泛型
一、多态 多态的概念:按字面意思来理解就是多种状态,也就是说同一个对象在不同的地方表现出不同的状态。比如接口的多种不同的实现方式即为多态。多态性是允许将父对象设置成为一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作。简单的说,就是一句话:允许将父类型的引用指向子类型的对象。实例代码:package test;public c原创 2016-08-15 16:38:42 · 263 阅读 · 0 评论 -
java网络编程
首先来考虑一下下面这些问题:1. 什么是TCP/IP协议?2. TCP/IP有哪两种传输协议,各有什么特点?3. 什么是URL?4. URL和IP地址有什么样的关系?5. 什么叫套接字(Socket)?6. 套接字(Socket)和TCP/IP协议的关系?7. URL和套接字(Socket)的关系?一、网络编程基本概念,TCP/IP协议简介网络基础知转载 2016-08-11 11:25:42 · 434 阅读 · 0 评论 -
java反射机制
一、什么是反射机制 简单的来说,反射机制指的是程序在运行时能够获取自身的信息。在java中,只要给定类的名字, 那么就可以通过反射机制来获得类的所有信息。 二、哪里用到反射机制 有些时候,我们用过一些知识,但是并不知道它的专业术语是什么,在刚刚学jdbc时用过一行代码, Class.forName("com.mysql.jdbc.转载 2016-08-11 16:44:05 · 207 阅读 · 0 评论 -
java线程
JAVA多线程实现方式主要有三种:继承Thread类、实现Runnable接口、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,只有最后一种是带返回值的。1、继承Thread类实现多线程继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的转载 2016-08-15 10:49:31 · 181 阅读 · 0 评论 -
java IO流
今天刚刚看完java的io流操作,把主要的脉络看了一遍,不能保证以后使用时都能得心应手,但是最起码用到时知道有这么一个功能可以实现,下面对学习进行一下简单的总结: IO流主要用于硬板、内存、键盘等处理设备上得数据操作,根据处理数据的数据类型的不同可以分为:字节流(抽象基类为InPutStream和OutPutStream)和字符流(抽象基类为Reader和Writer)。根据转载 2016-08-15 11:43:57 · 130 阅读 · 0 评论 -
缓存技术
一、什么是缓存1、Cache是高速缓冲存储器 一种特殊的存储器子系统,其中复制了频繁使用的数据以利于快速访问2、凡是位于速度相差较大的两种硬件/软件之间的,用于协调两者数据传输速度差异的结构,均可称之为 Cache二、缓存的分类1、基于web应用的系统架构图2、在系统架构的不同层级之间,为了加快访问速度,都可以存在缓存操作系统磁盘缓存->减少磁盘机械转载 2017-01-20 13:14:10 · 161 阅读 · 0 评论 -
Java关键字static、final、transient详解
1.static关键字static关键字修饰的变量表示该变量为该类的所有对象共有。static修饰的方法表示类的方法,通过类名直接可以调用该方法。static 修饰的代码块可以让类刚加载到内存的时候就执行该代码块。我们来看一下如下代码及执行结果:package StaticFinalTransient;public class StaticDemo { public stat原创 2017-03-31 15:27:22 · 865 阅读 · 0 评论 -
堆与栈的区别
一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其 操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回 收 。注意它与数据结构中的堆是两转载 2017-05-31 14:26:31 · 114 阅读 · 0 评论 -
java之序列化与反序列化
序列化与反序列化概念:java序列化:也就是将java对象转换为字节序列。java反序列化:也就是将字节序列转换为java对象。那么我们的序列化和放序列化到底有什么作用呢,为什么要序列化和反序列化?序列化和反序列化的作用:1.可以把对象序列化后永久存储到硬盘上,通常存放在某一个文件里面。2.将对象转换为网络传输对象的字节序列。在很多场景下,需要对某些对象进行序列原创 2016-08-10 16:43:52 · 230 阅读 · 0 评论 -
java NIO
http://ifeve.com/java-nio-all/转载 2018-04-08 10:54:04 · 63 阅读 · 0 评论 -
jvm 学习笔记——java内存区域划分
一、组成结构java运行时数据区域如下图所示:(图来自 深入理解jvm)二、各区域的作用1.方法区:属于线程共有区域。用来存放已被jvm加载的类信息、常量、静态变量,即时编译器编译后的代码等。该区域的GC回收机制采用永久代的方式进行回收。2.虚拟机栈:属于线程私有区域,生命周期和线程一致。用于存放局部变量,操作栈,动态链接,方法出口等信息。3.本地方法栈:属于线程私有区域,和虚拟机栈基本相似。区别...原创 2018-04-03 14:10:08 · 225 阅读 · 0 评论 -
java线程池
http://www.importnew.com/19011.html转载 2018-04-17 13:51:37 · 95 阅读 · 0 评论 -
HashMap实现原理及源码分析
HashMap实现原理及源码分析 哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出现在各类的面试题中,重要性可见一斑。本文会对java集合框架中的对应实现HashMap的实现原理进行讲解,然后会对JDK7的HashMap源码进行分析。目录...转载 2019-03-12 09:24:42 · 1018 阅读 · 0 评论