- 博客(28)
- 收藏
- 关注
原创 深入理解Java 内存模型
最近在看周志明老师的《深入理解java虚拟机》和《并发编程艺术》,有一些收获分享给大家。也看到一些相关的博客,写的都很好。强烈推荐java后端的同行看看这两本书。此篇想思维发散的说说java内存模型。也总结下自己就的收获。欢迎大家讨论,如若有不对的地方,还请指正,先谢过了。1、物理计算机的内存模型 java 内存模型出现的原因:虚拟机规范试图制定一种内存模型来屏蔽掉各种硬件和操作系统的差异,...
2018-03-04 11:51:51 1301
原创 springboot+mybatis 非web项目构建
环境:java8 idea macos第一步,新建项目:点击next,后填写一些信息。之后点击next,选择sql下的mybatis点击next,点击finish至此项目搭建完毕。结构如下图所示:接下来要做的是写一个简单的连接数据库的查询。并运行起来程序。首先修改配置文件 application.propertiesspring.data...
2019-01-09 16:18:22 8390 1
原创 用Netty自己写拆包粘包解码器
最近做了一个项目,项目中用到Netty来接受一些自定义的报文。一、背景tcp是以流的方式进行传输,在流里我们要判断消息的起始位置和结束位置。为了区分消息,往往采用下面的几种方式。消息有固定的长度 换行符做分隔 用一个特殊的分隔符来分隔 在消息头中增加length字段Netty中针对以上的方案都有已经实现好的解码器作为解决方案。针对有固定长度的消息,Netty提供了Fixed...
2018-12-17 20:42:40 1810 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-10-10 11:12:35 227
原创 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 2229
原创 java 最大连续子序列和
import org.slf4j.Logger;import org.slf4j.LoggerFactory;/** * 书上的例子,自己写一遍加深理解 * 功能 : 最大连续子序列之和 * 描述 :已知包含n个元素的数组,设计算法找出一个连续子序列A[i]....A[j],使其元素之和最大 * 例子: {-2,11,-4,13,-5,2} ->20; * date : 2...
2018-08-26 14:42:49 1955
原创 LeetCode第一题
描述:Given an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and you may not use the same...
2018-06-19 16:41:40 413
原创 图的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 1079
原创 java多叉树层次遍历
java多叉树的层次遍历,我的树好像不太一样,看代码吧。代码中的LLQueue 就是一个单链表实现的队列。思路与二叉树的层次遍历一样。遍历一层的时候,把下层的节点放到队列中。就是操作有点不同。/** * 功能 : * date : 2018/5/28 * * @author : zcwang@wisdombud.com * @version : 0.0.4-snapshot ...
2018-05-28 23:13:55 4055 1
原创 根据中序和前序序列生成二叉树java递归实现
首先说下思路:先给两个序列:前序序列:1,2,4,8,5,3,6,7中序序列:8,4,2,5,1,6,3,7图脑补下吧 下面来分析下:一、前序序列中的第一个肯定是根节点,知道了1是根节点后,我们去中序序列中找到1。二、中序序列中1前面的 8,4,2,5 这4个肯定是左子树,6,3,7是右子树。接下来关键的一步要想明白,我们要找到前序序列中的左子树的部分(这部分就是左子树...
2018-05-26 18:11:05 5004
原创 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 540
原创 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 285
转载 spring,mybatis事务管理 隔离级别与事务传播
事务隔离级别隔离级别是指若干个并发的事务之间的隔离程度。TransactionDefinition 接口中定义了五个表示隔离级别的常量:TransactionDefinition.ISOLATION_DEFAULT:这是默认值,表示使用底层数据库的默认隔离级别。对大部分数据库而言,通常这值就是TransactionDefinition.ISOLATION_READ_COMMITTED。Transa...
2018-04-24 10:26:55 4702
原创 RIbbon实现SpringCloud微服务负载均衡
两个服务提供者,一个服务消费者消费者多次请求,把请求分发到不同的提供者身上,达到负载均衡的目的。提供者:启动类:@EnableDiscoveryClient@SpringBootApplicationpublic class StartServer { public static void main(String args[]) { SpringApplication....
2018-04-07 10:34:02 192
原创 volatile
之前写了一篇java内存模型的文章,里面涉及了volatile的规则。在这里说下我的理解。首先java内存模型解决了在不同平台和系统中相同的内存访问效果。其次它又定义了一些规则来解决缓存一致性的问题。其中一条规则就是volatile规则。一个变量被volatile修饰后,就会多了两个语义:1、volatile修饰后的变量修改后立即对其他线程可见。2、volatile修饰的变量不会被指令重排序注:指...
2018-03-24 16:49:22 129
原创 mysql修改最大连接数
首先进入命令行:mysql -uroot -prootuse mysql;// 查看最大连接数show variables like 'max_connections';出来的列表会显示出目前的最大连接数。如果不够,修改my.ini文件增加或修改 max_connections=(根据需要填写连接数)保存退出后,重启mysql的服务连接mysql 用上述查看最大连接数的命令验证我们是否修改成功。...
2018-03-12 18:25:35 4002
原创 正则表达式小结
. :代表任意字符。* :代表0至多个。+:代表一至多个。\b:代表单词的开头或结尾。\B:代表不是单词的开头或结尾\w:代表数字、字母、下划线、汉字。\W:代表非数字、字母、下划线、汉字。\s:代表' '\S:代表出了' '的任意字符\d:数字\D:非数字^:代表字符串的开始$:代表字符串的结尾{n}:出现的次数。?:重复0次或一次...
2018-03-11 22:24:48 158
原创 类锁和对象锁
目前我理解的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 453
原创 ajax的traditional属性
$.ajax({ type: 'post', url: "/eventVmChange/eventVmChange-confirmChange.html", /*确认变更*/ dataType: 'json', //防止深度序列化 traditional: true, data: {"idList": idList}, success: f...
2017-03-14 19:38:55 24410 2
原创 mini ui form.setData()设置不上值
initForm: function () { var form = new mini.Form("#vm"); $.ajax({ type: 'post', url: "/eventVmChange/queryChangeHistoryFormParam-load-data.html", data: {"id": id}, ...
2017-03-14 19:36:50 6233
原创 jvm 内存
jvm 内存分为:堆,方法区(永久代 java8移除了),本地方法栈,虚拟机栈,程序计数器。其中堆和方法区是线程共享的,本地方法栈和程序计数器,虚拟机栈是线程私有的。虚拟机栈就是我们常说的栈:里面放的是局部变量表,操作数栈,方法返回地址,指向运行时常量池的引用。本地方法栈是我们执行本地方法用的(native method)程序计数器是当前需要执行的指令所在存储单元的地址,然后根据地
2016-10-03 11:03:18 230
原创 hibernate部分
hibernate 五大接口:Configuration :加载hibernate 配置文件,默认在src 下的hibernate.cfg.xmlSessionFactory :创建Session 的Session工厂Session :与数据库通信用的,开启事务Query:通过Session.createQuery()创建Transcation :事务:session.begi...
2016-10-02 11:34:15 215
原创 web 框架
web 框架大多都是这么几个功能:1、对页面的参数进行封装2、通过配置文件找到处理请求的controller( handler )3、调用业务层接口( 我学的一般都是spring 依赖注入的方式 )4、将业务层接口返回的结果封装返回页面( 一般都是jsp )5、进行简单的校验和国际化等功能 下面具体到一些框架身上:1 Struts2 :1】 Struts2 对...
2016-09-30 19:14:10 197
原创 nginx +tomcat 动静分离
原材料 阿里云服务器 镜像 id :m-28qhsfj1u配置文件路径是、/usr/local/nginx/conf/nginx.confuser www www;worker_processes auto;error_log /data/wwwlogs/error_nginx.log crit;pid /var/run/nginx.pid;worker_rl
2016-09-22 19:42:12 239
原创 String s=new String("xyz") 创建了几个对象
1,String s =new String("xyz");创建了几个对象?通过new关键字创建的对象只在堆内存生成一个对象。另外在栈中局部变量表中的引用不算是对象吧!所以只有一个。想把堆中的对象(也就是new出来的)放到常量池中,我知道的方法只有通过String的intern()方法,但是这有个需要注意的地方,就是intern()方法执行并不是把堆中该对象的引用放到常量池中去,但是常量池中放...
2016-09-18 21:27:11 2731 2
原创 从字节码看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 496 1
原创 navicat中添加表外键显示Cannoot add or update a child row;a foreign key constraint fails
我最近在做一个ssm框架的在线商城,初学,我想试试配置关联关系用association ,因为之前测试用ssm做了一个用户,所以数据库中有一个user 表,这时候我就想在数据库中加入一个role 也就是权限表,这样我就能在用户这段配置关系,在user表加入role表的主键作为user表的外键,这时候问题发生了如图:user表我的目的是把role_id 设置成user表的外键,注意看
2016-08-29 18:52:45 1873
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人