java
文章平均质量分 75
蚂蚁冲锋队
知识取之于网络用之于网路
展开
-
修改jar包源码
1、需改源码 jar包 student.jar 新建一个工程,并创建一个与被修改源码java文件相同绝对路径的java文件 例如:被修改的源码路径 com.xxx.myjar Student.java 修改前的代码 public class Student{ private String name; public Student(){ } public Student原创 2017-07-26 15:46:27 · 2703 阅读 · 0 评论 -
java内存模型相关概念
内容安排: 1、指令执行过程 2、共享变量 3、缓存不一致问题 4、原子性问题 5、可见性问题 6、有序性问题 7、synchronized、Lock 8、java默认的有序性原则 1、指令执行过程 a)从主存中获取变量值 b)复制该值到高速缓存 c)将高速缓存中的值给CPU计算并将结果写入高速缓存 d)将高速缓存中的计算结果写入主存 2、共享变量 多线程公用的变原创 2017-09-07 13:47:12 · 227 阅读 · 0 评论 -
java之volatile
内容安排: 1、volatile保证变量的可见性 2、volatile不保证操作的原子性 3、 volatile禁止指令重排序 4、volatile的原理 5、并发中使用volatile 1、volatile保证变量的可见性 例如: 使用volatile前: boolean runFlag=false; 线程1 while(!runFlag){ doSomethin原创 2017-09-07 13:52:09 · 241 阅读 · 0 评论 -
并归排序
二路并归排序 稳定排序,事件复杂度O(nlog2n) 控件复杂度O(n) 排序思想: 将两个分别排好序的集合合并到一个大的集合中,并且使得这个大的集合也是有序的。 排序算法: (1)集合A[0~i] 集合B[0~j] 集合C[i+j] (2)依次取出A[g]与B[g],判断两者大小,将小的放入C[h]中 (3)如果A、B有一个遍历结束需要继续遍历另一个 java实现: /原创 2017-08-07 13:53:45 · 346 阅读 · 0 评论 -
简单选择排序
选择排序 排序思想: 每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。 简单来说就是:把数据中最小的值依次找出来。 排序算法: 将数据进行n-1次排序,每次排序取arry[i+1,n-1]中最小的值与arry[i]交换。 java实现: /** * 简单选择排序 * @param array */ public static v原创 2017-08-07 10:40:01 · 199 阅读 · 0 评论 -
Protocol Buffer使用实例
1、安装说明 点击下载protocol相关程序 2、发送消息 Msg.proto内容如下: package com.protocol; message Msg { required bytes head = 1; optional bytes body = 2; } message Head { required string head01 = 1; re原创 2017-09-20 11:50:49 · 754 阅读 · 0 评论