- 博客(22)
- 收藏
- 关注
原创 java 流处理demo记录
@Test public void testStream(){ Object lock = new Object(); ArrayList<Integer> collect = Arrays.asList(1, 2, 3, 4, 5) .parallelStream() //并行流 .collect(() -> { //构造器参数 syn..
2021-10-29 12:52:12
99
原创 关于Hystrix超时
关于Hystrix超时对于web的请求有些时候可能会超过2s,这时候需要设置超市请求Hystrix的作用是对一段程序进行控制,这段程序做了什么无所谓。程序请求服务的框架是feign,所以要对feign进行控制。0、OpenFeign的程序@FeignClient(value = "getname")public interface OpenFeignTestController { @GetMapping("/server3") CommonResult getServer3N
2021-03-14 18:09:19
451
原创 volatile与synchronized区别
网上看了很多分析这两的区别:volatile:程序的可见性,不能保证原子性。synchronized:保证程序的可见性,保证原子性。关于为什么会有这样的区别?synchronized关键字是通过在对象头里做标记,也就是mark word,标记这个对象已经被一个线程用到了(获得锁)其他线程想操作一段代码块,先看这个标记如果发现被锁就阻塞了。等获得锁的线程操作完了会把操作后的数据从工作...
2020-03-14 22:05:14
98
原创 降低linux的time_wati
百度了半天,给出的方案是net.ipv4.tcp_fin_timeout = 20net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_syncookies = 1net.ipv4.tcp_max_tw_buckets = 1000都不好使,最后同事给一个参数net.ipv4.tcp_max_tw_buckets = 1000time_wait立刻降...
2020-03-13 20:27:24
198
原创 快速排序
package hello;import java.util.Stack;/**非递归快速排序 * @author zhangshancheng */public class QuickStart { public static void main(String[] args) { int[] arr = {5,8,3,9,1,1,2,7,4,6,6}; quickSor...
2019-12-30 12:50:16
80
原创 二分查找
public class BinarySearch { public static void main(String[] args) { double[] arr={1,2,3,4,5,6,7,8,9,10,11,12}; int left=0; int right = arr.length-1; double search =7.5; int m = 0; whil...
2019-12-30 12:46:27
87
原创 Spark提交任务
提交任务带着依赖包提交./bin/spark-submit --class sparkJava.SparkOnHive_SqlContext \--master spark://192.0.0.0:7077 \--driver-memory 1g --executor-memory 1g --total-executor-cores 1 \--jars (依赖的jar,多个的话...
2018-12-29 10:56:01
222
原创 hive入门二
分桶分桶是根据某一字段进行分的,根据这一字段的hash值然后对分桶数取模,进入一个reducer,这个字段分的是mapreduce中的分区,将数据分开由不同的reduce计算。创建分桶分区的表:create table ip_table4(ip string, region string, country string,province string,city string,area ...
2018-12-29 10:51:13
169
原创 hive入门一
创建表普通表create table ip_table1(ip string, region string, country string,province string,city string,area string,company string)row format delimited fields terminated by '|';导入数据: load data local...
2018-12-20 16:48:25
155
原创 UDP数据传输
Udp服务端public class UDPServer { private static Logger log = Logger.getLogger(UDPServer.class); public static void main(String[] args){ try { InetAddress byName = InetAddr...
2018-12-13 15:17:30
362
原创 快速排序(非递归实现)
原理是将开始与结束的索引放入栈中,然后取栈中的数据段排序。public class QuickStart { public static void main(String[] args) { int[] arr = {5,8,3,9,1,2,7,4,6}; quickSort(arr); for(int i:arr) System.out.print(i+" "); }...
2018-12-07 15:52:24
250
原创 反射代理
关于代码块代码块有两种,静态代码块,和普通代码块。静态代码块属于类级别的,加载的时候执行,普通代码块属于对象级别,创建对象的时候执行。而且普通代码块优先于构造函数执行。 package mytest.Proxy.reflect; public class Main { public static void main(String[]...
2018-08-03 19:33:18
388
原创 快速排序解析
快速排序解析快速排序用到的知识点,递归,分制。思想,如果将数列要从小到大的排列,先取一个数做为比较数a(一般取要数列或者拆开数列的第一个数,也看个人习惯),先从右往左找比a小的数据,并交换数据。交换完数据后,在交互数据的位置从左往右找比a大的数据,找到后,再交换数据。这算是一轮结束。这一轮结束后,左索引会将数组分成两半,然后将0到左索引与左索引到末尾变成两组数组,然后递归分制,上面的循环。直到每个...
2018-07-01 18:34:38
459
原创 初识hadoop
关于hadoop的写入(存入)nn里面维护了一份元数据。客户端在存入的数据的时候先经过nn,查要存入的数据是否存在(通过元数据查询),如果存在就返回拒绝写入,若不存在,就开始返回可以往集群里面写入,而且还分配存入那些dn。客户端程序就开始找相应的nn,将相应的block块存进去(切分是由客户端切分的)。关于副本客户端在存入数据的时候只是将数据块block0存入相应的机器,然后由被存入的机器(nn)...
2018-06-24 14:07:42
208
原创 初识JVM
系统虚拟机,完全对物理计算机的仿真,vmare.程序虚拟机,专门为执行单个计算机程序而设计的,jvm1、 方法区,是各个线程共享的内存区域,用于存储已经被虚拟机加载的类信息,常量、静态变量、即时编译的代码等数据。这个区也会存在垃圾回收,不过回收的目标针对于常量池和对类型的卸载,不过类型的卸载条件比较苛刻,回收成绩令人难以满意。2、 虚拟机栈,虚拟机栈也是线程私有的,与线程同时创建,描述了jav...
2018-04-07 12:35:10
149
原创 关于Redis的持久化
redis的数据高可用存储机制是将数据存到内存中去,但是为了使redis在重启后数据的不丢失,需要将数据通过某种形式存到硬盘中去。它支持两种持久化的机制,Rdb和aop,这两可以单独使用一种,也可以同时使用两种。RDB这种方式是通过快照完成的,当符合一定条件时,redis会自动将内存中的数据保存到硬盘上去,redis的默认存储方式就是RDB.。数据恢复Redis启动时,会读取快照的文件,将数据存入...
2018-03-08 16:59:03
183
原创 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法?
关键是看这个方法的是否是静态方法,1.非静态方法之间,锁住的是本类的对象,所以,当一个方法在执行的时候,就会握住这个锁,其他方法就不能进行。2.当方法时静态方法时,进程拿到的锁和非静态的不是一个,所以在静态方法之间,必须同步,而非静态方法中可以进行,也就是说,A如果是静态同步方法,B是非静态同步方法,那么A和B是可以并发执行的。...
2018-03-04 21:48:45
602
2
原创 try_finally相关
try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?会被执行,在运行完finally代码后才返回如下测试代码public class Main { public static void main(String[] args) { int ruslt = getRuslt(); System....
2018-03-04 21:45:58
140
原创 20180301
关于2017_今天回来北京第四天了,还没投出一份简历,因为内心怀着侥幸和没信心,想起2017一整年,自己感动自己,写论文、写毕业的代码、家中的变故、来北京招工作等等,2017年发生的事情太多了,高兴的、伤心的,每一件都驱使着内心成长。总之,过往好坏不论,多多吸取经验,把握当下。关于职业_半夜刷朋友圈,看到一个朋友在研究酒,她的职业好像与酒有关,那个朋友文笔也很好,经常写一些小诗怡情,以前大学里很是...
2018-03-01 02:35:40
163
原创 关于Java继承隐藏的理解
定义如果在子类中对从父类继承来的成员变量进行重新定义,即出现了子类变量对父类变量的隐藏隐藏的问题设定A为父类,B为子类,当B的对象调用父类里面的方法(就是子类里面没有进行重写的方法),且方法里面用到了出现隐藏的变量,则该方法只会调用父类里面的参数变量,不会调子类里面重定义的变量。 和重写比较重写是针对方法而言的,隐藏是针对变量而言。在子类中,如果子类重写了父类的方法,那么子类在调用时会用重写的方法...
2018-02-27 11:01:32
1141
原创 并发编程1
昨天回到北京,年前就把工作辞掉了,现在正是失业状态,本想着今天看点东西面试,犯懒了,哎线程安全的概念当多个线程访问一个类(对象或者方法)时,这个类始终都能表现出正常的行为,那么这个类(对象,方法)就是线程安全的(这个解释有点搞笑!)Synchronied可以再任意对象和方法上加锁。而加锁的这段代码称为互斥区或者叫临界区。锁竞争的问题是指在同步的时候,当一个线程运行完毕释放资源,其他线程抢资源会导致...
2018-02-26 22:59:32
119
原创 线程小白入门
第一次写博客,其实不算写,只是把自己以前的笔记粘贴过来。 今天正月初三,在家里很无聊,也不想去亲戚家尬聊,白天刷微博有想砸手机的冲动,微博上只要有好玩的段子视频下面的网友评论中一片艾特自己的男朋友或女朋友,真尼玛能秀。 开始粘笔记线程入门基本方法1、 Thread.yield();停止运行的线程,并且释放线程占用的资源。 2、 sui.interrupt();设置线程...
2018-02-18 20:23:52
188
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人