java
文章平均质量分 63
wlittlefive
.....
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
深入理解Java 内存模型
最近在看周志明老师的《深入理解java虚拟机》和《并发编程艺术》,有一些收获分享给大家。也看到一些相关的博客,写的都很好。强烈推荐java后端的同行看看这两本书。此篇想思维发散的说说java内存模型。也总结下自己就的收获。欢迎大家讨论,如若有不对的地方,还请指正,先谢过了。1、物理计算机的内存模型 java 内存模型出现的原因:虚拟机规范试图制定一种内存模型来屏蔽掉各种硬件和操作系统的差异,...原创 2018-03-04 11:51:51 · 1442 阅读 · 0 评论 -
String s=new String("xyz") 创建了几个对象
1,String s =new String("xyz");创建了几个对象? 通过new关键字创建的对象只在堆内存生成一个对象。另外在栈中局部变量表中的引用不算是对象吧!所以只有一个。想把堆中的对象(也就是new出来的)放到常量池中,我知道的方法只有通过String的intern()方法,但是这有个需要注意的地方,就是intern()方法执行并不是把堆中该对象的引用放到常量池中去,但是常量池中放...原创 2016-09-18 21:27:11 · 2843 阅读 · 2 评论 -
volatile
之前写了一篇java内存模型的文章,里面涉及了volatile的规则。在这里说下我的理解。首先java内存模型解决了在不同平台和系统中相同的内存访问效果。其次它又定义了一些规则来解决缓存一致性的问题。其中一条规则就是volatile规则。一个变量被volatile修饰后,就会多了两个语义:1、volatile修饰后的变量修改后立即对其他线程可见。2、volatile修饰的变量不会被指令重排序注:指...原创 2018-03-24 16:49:22 · 190 阅读 · 0 评论 -
从字节码看short s=1; s=s+1;和short s=1 s+=1
short s=1; s=s+1;和short s=1 s+=1;这俩个的问题。 第一个不能通过编译,第二个可以通过编译。 short s=1,short y=1; short z=s+y; 也错的。 public static void main(String[] args) { short s1=1; s1+=1; System.out.println(s1); } 这是ja...原创 2016-09-18 20:09:49 · 590 阅读 · 1 评论 -
java循环链表实现魔术师发牌问题
package com.wisdombud.zyzx.report.start; import static java.lang.System.out; /** * 功能 : * date : 2018/5/10 * * @author : zcwang * @version : 0.0.4-snapshot * @since : JDK 1.8 */ public class...原创 2018-05-12 11:45:55 · 370 阅读 · 0 评论 -
java循环链表实现拉丁方阵
/** * 功能 : * date : 2018/5/12 * * @author : zcwang@wisdombud.com * @version : 0.0.4-snapshot * @since : JDK 1.8 */ public class Latin { public static void main(String args[]) { int...原创 2018-05-12 15:28:06 · 624 阅读 · 0 评论 -
图的DFS和BFS JAVA实现
图的深度优先遍历 和 广度优先遍历参考资料:印度一大哥写的 数据结构和算法的java版本 其中图用的 一个顶点的数组 和一个关系的数组表示import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.Stack; /** * 功能 : * date : 2018-06-19 09:57 * * ...原创 2018-06-19 11:38:20 · 1175 阅读 · 0 评论 -
BCD码
最近做一个报文解析的事情,碰到了BCD码解析的问题。 BCD 二进码十进数(Binary-Coded Decimal) 什么意思呢?就是用半个字节(4位)的二进制来表示一个十进制的数字。 1001 0110 前四位 1001 表示十进制的 9 后四位 0110 表示十进制的 6 - 下面是需求 “事件时间,采用BCD码,如不足8字节,前面补0,如2011年6月1日12点10分20...原创 2018-09-19 16:48:27 · 2447 阅读 · 0 评论 -
类锁和对象锁
目前我理解的synchronized锁分为对象锁和类锁 对象锁 例如 class C { public synchronized void aa() { System.out.println("aa method"); try { Thread.sleep(10000); } catch (final I...原创 2017-07-10 15:48:10 · 530 阅读 · 0 评论 -
正则表达式小结
. :代表任意字符。 * :代表0至多个。 +:代表一至多个。 \b:代表单词的开头或结尾。 \B:代表不是单词的开头或结尾 \w:代表数字、字母、下划线、汉字。 \W:代表非数字、字母、下划线、汉字。 \s:代表' ' \S:代表出了' '的任意字符 \d:数字 \D:非数字 ^:代表字符串的开始 $:代表字符串的结尾 {n}:出现的次数。 ?:重复0次或一次 ...原创 2018-03-11 22:24:48 · 246 阅读 · 0 评论 -
hibernate部分
hibernate 五大接口: Configuration :加载hibernate 配置文件,默认在src 下的hibernate.cfg.xml SessionFactory :创建Session 的Session工厂 Session :与数据库通信用的,开启事务 Query:通过Session.createQuery()创建 Transcation :事务:session.begi...原创 2016-10-02 11:34:15 · 276 阅读 · 0 评论 -
web 框架
web 框架大多都是这么几个功能: 1、对页面的参数进行封装 2、通过配置文件找到处理请求的controller( handler ) 3、调用业务层接口( 我学的一般都是spring 依赖注入的方式 ) 4、将业务层接口返回的结果封装返回页面( 一般都是jsp ) 5、进行简单的校验和国际化等功能 下面具体到一些框架身上:1 Struts2 : 1】 Struts2 对...原创 2016-09-30 19:14:10 · 252 阅读 · 0 评论 -
springboot+mybatis 非web项目构建
环境:java8 idea macos 第一步,新建项目: 点击next,后填写一些信息。 之后点击next,选择sql下的mybatis 点击next,点击finish 至此项目搭建完毕。结构如下图所示: 接下来要做的是写一个简单的连接数据库的查询。并运行起来程序。 首先修改配置文件 application.properties spring.data...原创 2019-01-09 16:18:22 · 8602 阅读 · 1 评论
分享