- 博客(16)
- 资源 (15)
- 问答 (4)
- 收藏
- 关注
原创 稀疏数组
把棋盘录入到系统中,可以使用二维数组的方式来实现,下面棋盘中0 表示空子,奇数表示黑子,偶数表示白子原始棋盘二维数组:0 0 0 1 4 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 7 0 0 0 0 0 6 0 0...
2021-02-05 18:04:14 120
原创 Volatile原理
1、volatile的实现可见性原理volatile的是通过加入内存屏障和禁止指令重排序优化来实现的。对于写而言:volatile关键修饰的变量在被写操作时,会在写操作后加入一条store指令,将当前工作内存中的数据刷新到主存中去。对于读而言:volatile关键修饰的变量在被读操作时,会再读操作前加入一条load执行,将主存中的数据更新到当前工作内存中。线程写volatile...
2018-11-07 15:10:52 355
原创 volatile-详解
首先见下代码:在下面的代码中,首先有一个多线程类,类中有共享数据flag,默认初始值为false;程序启动后首先创建了一个thread子线程,在子线程中的逻辑是等待了200毫秒后将flag修改成了true,并打印flag的值同时在主线程中进入while(true),判断flag的值是否为true,为true则打印flag的值并退出循环 public class Volat...
2018-11-07 15:06:46 380
翻译 GC回收器
1、串行收集器优点:稳定、效率高缺点:单线程,多核处理器无法展示效果 开启:-XX:+UseSerialGC开启后新生代和老年代使用串行回收新生代使用的是复制算法老年代是使用标记-压缩算法 2、并行收集器 (1)parNew收集器 开启:-XX:+UseParNewGC 此参数影响新生代,开启后新生代会使用并行收集器,老年代会使用串行收集...
2018-09-29 14:21:03 155
原创 位运算与相关常见面试题
<<空位补0,被移除的高位丢弃>>被一簇的二进制最高位是0,右移后,空缺位补0>>>被移除二进制最高位无论是0或者是1,空缺位都用0补&任何二进制和0进行&运算,结果是0;和1进行&运算结果是原值|任何二进制和0进行|运算,结果为原值,和1进行运算结果为1^任何相同二进制进行^运算,结果为0;不相同二进制^运算结果为1/** * ...
2018-02-20 00:28:06 297
转载 float数据在内存中是怎么存储的
float类型数字在计算机中用4个字节存储。遵循IEEE-754格式标准: 一个浮点数有2部分组成:底数m和指数e底数部分 使用二进制数来表示此浮点数的实际值指数部分 占用8bit的二进制数,可表示数值范围为0-255但是指数可正可负,所以,IEEE规定,此处算出的次方必须减去127才是真正的指数。 所以,float类型的指数可从-126到128底数部分实际是占用24bit的一个值,但...
2018-02-18 23:32:55 1534
原创 变量相加和常量相加的区别
byte b1 = 3,b2=4,b;b=b1+b2;b=3+4;问:那句编译失败的呢?为什么?解:b=b1+b2;会报错,具体看代码/** * * @author wangjg * 题目1: * byte b1 = 3,b2=4,b; * b=b1+b2; * b=3+4; * 问:那句编译失败的呢?为什么? */public class DataTypeDemo1 { ...
2018-02-18 23:32:13 960
原创 byte=130(为byte类型赋值超长度的内容)
byte的长度是-127~128,目前需要赋值130,会出现什么情况;首先会出现编译错误,会报出丢失精度,如果不报错可以强制类型转换,将130强转成byte直接上代码解释:/** * 练习:byte b = 130 * @author wangjg * */public class Byte130 { public static void main(String...
2018-02-18 23:30:26 3302 1
原创 s=s+1和s+=1的区别
直接上代码解释/** * 面试题: * short s = 1; * s = s + 1; * * short s = 1; * s += 1; * * 上面两个代码有么有问题,如果有,哪里有问题? * @author wangjg * */public class OperatorTest { public static void main(St...
2018-02-18 23:27:18 3345
翻译 实现两个正数变量互换
这是一道面试题:请实现两个变量内容的互换例如:int a = 10;int b = 20;希望得到的结果是:a=20b=10下面直接看代码(代码中呈现了处理的几种方式):/** * 面试题: * 请自己实现两个正数变量交换 * @author wangjg * */public class OperatorTest1 { public static v...
2018-02-18 23:17:12 133
转载 Java中常量写到接口中还是类中
最近发现我们公司的项目常量往往被写到了接口中,这让我很郁闷,于是就百度了下,最终的结果是建议写到class类中具体原因引用大牛的说法吧http://www.360doc.com/content/14/1210/17/16650130_431828218.shtml
2017-05-29 14:42:45 2045
原创 Redis单机安装|集群安装|6台服务器 三主三备
此文章中需要的安装文件可以从我的网盘下载相同版本的安装文件http://pan.baidu.com/s/1qXMcYfi1、需要在六台服务器上面都安装上redis,将redis-3.0.2.tar.gz分别上传到六台服务器上面。 > tar xvf redis-3.0.2.tar.gz > cd redis-3.0.2 > make
2016-11-02 14:05:47 4213 3
原创 Centos在vm中设置网络环境、防火墙设置
本次实践采用Centos 7 的操作系统新建虚拟机选择安装文件这里就不多说了,从选择好配置之后,启动安装之前说起1、添加网卡 在系统安装之前一定要设置下虚拟机的硬件配置,在硬件设置中添加网卡,第二张网卡使用“桥接模式”。设置好的样子如左图的红框中的样子,是有两张网卡的,一个NAT网络是与物理机的内网地址,另一个是桥接,是复制物理机的互联网的,主要物理机能够上网,L
2016-11-02 11:35:22 4877
原创 Nginx的下载、安装、启动|重启|关闭-虚拟机下操作
1、下载nginx下载地址为:http://nginx.org/download/nginx-1.10.1.tar.gz进入linux命令行模式,使用下面命令将nginx下载到/usr/local/src/目录下面cd /usr/local/src/wget http://nginx.org/download/nginx-1.10.1.tar.gz如图下面进行nginx
2016-11-02 10:19:15 2137
原创 Java环境变量的配置、作用详解
1、配置环境变量(1) 在"系统变量" 新建 JAVA_HOME 变量,值填写jdk的安装目录,不到bin(2) "系统变量" 寻找 "Path"变量并且编辑,在变量值最后面输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;分号隔开(3) "系统变量" 新建 CLASSPATH 变量,值填写 .;%JAVA_HOME%\lib;
2015-08-23 11:33:03 398
原创 JDBC连接MYSQL数据库
JDBC是一种可以执行SQL语句并可以返回结果的JavaAPI,全称是 JavaDataBase Connectivity,也是一套面向对象的应用程序接口(API)。JDBC的最大特点是它能够独立于具体的关系数据库。JDBC的优点:1、 JDBC和ODBC十分相似,有利于软件开发人员的理解。2、 JDBC使软件开发人员从复杂的驱动程序编写工作中解脱出来,可以完全专注于业务逻辑的开发。
2013-04-23 07:26:25 641
IntelliJ_IDEA常用设置
2014-09-28
bootstrap入门学习教程
2013-07-15
IntelliJ IDEA里面配置任何路径的时候路径里面的反斜杠分隔符变成了钱币符号
2018-03-09
Myeclipse启动spring过期
2015-11-12
hibernate的关系映射和无关系型数据库
2015-05-05
关于EJB的使用情况和使用量
2015-04-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人