
java基础
blueheart丶
If I had eight hours to chop down a tree, I would spend six hours sharpening my axe。
展开
-
字节且说明
一个字节是1byte=8 比特(bit)1024字节=1024b=1kb原创 2021-03-04 10:54:07 · 437 阅读 · 1 评论 -
多线程锁
多线程锁总结对象头和monitor对象头Mark Wordklass word(指向类的指针)数组长度monitor二级目录三级目录对象头和monitor对象头当我们创建一个对象在内存中,一共有三个部分1、对象头2、实例数据3、对齐填充字节对象头有三部分组成:普通对象数组对象因为这里主要讲线程锁有关系,重点介绍Mark word 部分Mark WordMark Word在32位JVM中的长度是32bit,在64位JVM中长度是64bit。Mark Word在不同的锁状态下存储原创 2020-09-17 16:17:52 · 329 阅读 · 0 评论 -
线程池的应用
1、调ThreadPoolExecutor 创建线程池executor,传入了ThreadFactory工程用于创建线程。public static ThreadPoolExecutor namedFixMaxThreadPool( final String groupName, final int max, final int qsize) { return named...原创 2019-01-11 18:25:45 · 179 阅读 · 0 评论 -
threadLocal的学习
ThreadLocal用于保存某个线程共享变量(名字相同的变量):对于同一个static ThreadLocal,不同线程只需要调用ThreadLocal自己的get,set,remove就可以得到自己的变量,在该线程中改变了值影响其他线程的变量,一个threadlocal只能存一个对象1、ThreadLocal.get: 获取ThreadLocal中当前线程共享变量的值。2、Th原创 2018-02-01 13:46:50 · 201 阅读 · 0 评论 -
线程池的学习
转载地址:https://www.jianshu.com/p/210eab345423为什么用线程池创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率例如:记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3如果T1+T3>T2,那么是不是说开启一个线程来执行这个任务太不划算了!正好,线程池缓存线程,可用已有的闲置线程来执行新任务,避免了转载 2018-01-31 15:45:05 · 238 阅读 · 0 评论 -
Git SSH Key 生成步骤
Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置。github的SSH配置如下:一 、设置Git的user name和email:$ git config --global user.name "xuhaiyan"$ git config --global user.email "haiyan.xu.vip@gmail转载 2018-01-16 08:36:21 · 174 阅读 · 0 评论 -
客户端和服务器编码问题
request 请求request请求: post: request.setCharacterEncoding(“utf-8”); get: Stringuname=request.getParameter(“uname”); uname=new String(原创 2017-08-04 13:15:48 · 967 阅读 · 0 评论 -
java面向对象
面向对象概念 举例:大象装进冰箱里面。 面向过程 我们打开冰箱我们转入大象我们关闭冰箱 对于面向过程思想,强调的是过程(动作)。代表语言:c语言 面向对象 对于面向对象思想,强调的是对象(实体)冰箱打开冰箱存储冰箱关闭 C++java c#特点:1 。面向对象就是一种常见的思想,符合人们的思考习惯原创 2017-06-21 21:39:04 · 260 阅读 · 0 评论