JVM学习记录-类加载时机

虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是类的加载机制。 在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的。类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括: 加载 ... »

面试必问!Java 多线程中两个线程交替执行,一个输出偶数,一个输出奇数

前言 楼主今天在面经上看到这个题,挺有意思,小小的题目对多线程的考量还挺多。大部分同学都会使用 synchronized 来实现。楼主今天带来另外两种优化实现,让你面试的时候,傲视群雄! 第一种 synchronized 我们通过使用 CAS,避免线程的上下文切换,然后呢,使用一个 volatile ... »

领域驱动设计(1)认识了解什么是领域驱动

领域驱动(1)认识了解什么是领域驱动 废话 领域驱动设计已经出现很早了,说实话很早以前的我很不喜欢看书、不论是pdf还是书本、买过的书籍还是有几本的,这仅有的几本书还是因为公司的业务或者某项技术遇到瓶颈需要自己和团队进行突破的时候用来填充自己的大脑用的,当然这是被动的,毕竟:生下来、活下去很重要的。 ... »

ArchLinux 安装五笔输入法

说明 自己的笔记本已经全盘做成了ArchLinux系统了,用着还好,苦于常用的五笔输入法在Arch下有点不太好装,参考wiki弄好了,这里简单记录下 这里使用ibus rime 原因有二: ibus rime功能强大,支持注音、拼音、倉頡5、五筆86 其他输入法安装很不方便,一般最后的支持是2012 ... »

Twitter分布式自增ID算法snowflake原理解析

以JAVA为例 Twitter分布式自增ID算法snowflake,生成的是Long类型的id,一个Long类型占8个字节,每个字节占8比特,也就是说一个Long类型占64个比特(0和1)。 那么一个Long类型的64个比特, twitter是这样分配的:正数位(占1比特)+时间戳(占41比特)+机 ... »

MySQL-5.6.36-多实例-部署(编译版)

MySQL多实例_沁贰百科 注:部署双实例前,首先需要部署单实例,单实例部署详情如下: 1、如已经安装完成单实例,需要先停止单实例运行,接下来进行多实例部署 2、已经制作好多实例配置文件及启动文件,以下为下载地址: 3、上传data.tar.gz到根目录,然后tar解压 4、授权所有者、所属组及文件 ... »

java Dated Dateformat Calendar

Date类概述 类Date表示特定的瞬间,精确到毫秒。1000毫秒=1秒 时间的原点:公元1970年 一月一日,午夜0:00:00 对应的毫秒值就是0 注意:时间和日期的计算,必须依赖毫秒值 构造函数 Date类常用方法 DateFormat类 DateFormat 是日期/时间格式化子类的抽象类, ... »

MyBatis新手教程(一)

MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apache 迁移到了 google,并改名为MyBatis,2013年迁移到Github。 MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注sql语句本身,而不需要花费精力 ... »

python 之禅

1.Beautiful is better than ugly. 优美胜于丑陋(Python以编写优美的代码为目标) 2.Explicit is better than implicit. 明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似) 3. Simple is better than ... »

ReentrantLock和读写锁

在Java5.0之前,只有synchronized(内置锁)和volatile. Java5.0后引入了显示锁ReentrantLock. ReentrantLock概况 ReentrantLock是可重入的锁,它不同于内置锁, 它在每次使用都需要显示的加锁和解锁, 而且提供了更高级的特性:公平锁, ... »

Java I/O流详解与应用(二)

I/O流(二) 一.缓冲流(缓冲区): 特点:本身没有读写的能力,需要借助普通的读写流进行读写,但可以加快读写的效率 分类:字符缓冲流:BufferedReader(读),BufferedWriter(写) 字节缓冲流:BufferedInputStream(读),BufferedOutputStr ... »

[bzoj 1012][JSOI2008]最大数maxnumber

题面 Description 现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作 ... »

BZOJ1500 [NOI2005]维修数列-fhq_Treap

题面见这里 反正是道平衡树,就拿 fhq_Treap 写了写... 这道题思路基本是围绕“用 Treap 维护中序遍历” 和 中序遍历的性质 来进行的操作 所以就可以类比线段树进行一些操作 1. 建树 & 插入 这题也要用到笛卡尔树的建树方式,假的 O(n) 真是相当快啊 建树的方式见这里 在本题中 ... »

Android性能优化-内存泄漏的8个Case

1为什么要做性能优化? 手机性能越来越好,不用纠结这些细微的性能? Android每一个应用都是运行的独立的Dalivk虚拟机,根据不同的手机分配的可用内存可能只有(32M、64M等),所谓的4GB、6GB运行内存其实对于我们的应用不是可以任意索取 详情:http://10.158.0.33/bbs ... »

Centos 7 Linux系统修改网卡名称为ethx

一、Centos7 系统安装完成后更改网卡名称方法 1、查看Centos7系统默认的网卡配置(eno16777736) 2、编辑centos7系统默认的网卡配置文件,将NAME、DEVICE选项修改为eth0 3、将Centos7系统网卡配置文件ifcfg-eno16777736重命名为ifcfg- ... »

VMware workstation创建虚拟机console图文

1. 概述2. 配置入口3. 新建虚拟机向导3.1 类型配置<!--more-->3.2 硬件兼容性3.3 操作系统安装3.4 客户机操作系统类型3.5 客户机的名称位置4. 客户机硬件配置选择4.1 客户机处理器配置4.2 客户机内存配置4.3 客户机网络配置4.4 客户机IO控制器配置4.5 客 ... »

ISCC 2018(数字密文)

做过iscc 2018之后有了很多的感触,也有更多的了解自己的不足之处,整理了一下web的wp, 为了保证各位小伙伴的阅读质量,我将会把wp以每一道题一个博文的形式写出来,希望能够帮助到你们 其中的步骤比较详细,主要是为了萌新更好的看懂每一步,希望各位能够体谅一下下!! 解题思路:刚刚看到这一题的时 ... »

Uber无人驾驶致命车祸翻案:6秒前已侦测到死者

此前有消息称,今年三月 Uber 无人驾驶汽车致命车祸是软件失误导致的。现在,美国运输安全委员会的事故初步调查报告给出了不同的说法。 从图中可见,黄色线以米为单位显示,橙色线显示了地图线路的中心,紫色阴影区域显示车辆行驶的路径,绿色线表示路径的中心。 之前报告指出,受害者 Elaine Herzbe ... »