
java基础
菩提小师傅
擅长服务端分布式高并发架构
展开
-
java成员内部类学习笔记
java成员内部类学习笔记**java编程思想有如下解释:可将一个类定义置入另一个类定义中。这就叫作“内部类”。内部类对我们非常有用,因为 利用它可对那些逻辑上相互联系的类进行分组,并可控制一个类在另一个类里的“可见性”**成员内部类,顾名思义可以理解为一个外部类的成员。所以,内部类可以访问父类的变量,包括成员变量和静态变量。例子如下:public class OuterClass {priva原创 2015-07-30 16:36:52 · 445 阅读 · 0 评论 -
单链表翻转递归
/** * @author zhouwei * @Description: TODO * @create 2018-11-05 下午8:31 **/public class A { public static void main(String[] args) { Node d = new Node(null, 4); Node c = new...原创 2019-01-23 13:09:31 · 397 阅读 · 0 评论 -
线上查找Java性能问题三部曲
1、top 查找负载高的进程 找到java负载比较高的java进程的pid (30813)2、top -Hp (30813) 进程号找到该进程对应的所有的线程号 ,讲线程号转成16进制3、jstack 30811 | grep -A 10 785d查看这个线程卡在哪里了,在去找相应的代码。ps:一般还要找到这个进程下处于runnable的线程 看下他再做什么...原创 2019-01-23 13:06:31 · 205 阅读 · 0 评论 -
二分查找(非递归)
百科的释义:对于区间[a,b]上连续不断且f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫二分法。 public static final int a(int[] a,int key){ int low = 0; int high =a.lengt...原创 2019-01-28 12:04:30 · 394 阅读 · 0 评论 -
单例模式的三种常用实现
如题:看代码,太简单,不解释,练手。/* * 静态内部类实现单例模式 * */public class AbstractClassImplementsSingleTon {private AbstractClassImplementsSingleTon(){} private static class InnerClass { private static Abstra原创 2016-12-20 11:24:13 · 433 阅读 · 0 评论 -
Netty学习之路(2)
线程池处理 在Netty学习之路(1)中,使用的处理方式是每个客户端连接创建一个独立线程去处理的方式,这篇中,将采用线程池的处理方式。但由于也是堵塞式,所以也有存在大量的弊端。具体利弊这里就不再阐述,自行脑补或者找度娘谷哥。 上代码 server端:package com.netease.bio_2;import java.io.IOException;import java.net.Ser原创 2016-03-09 12:06:30 · 453 阅读 · 0 评论 -
Netty学习之路(1)
堵塞式流读取示例代码原创 2016-03-08 17:29:18 · 486 阅读 · 0 评论 -
关于addShutdownHook的学习使用
/* * 这个方法的意思就是在jvm中增加一个关闭的钩子,当jvm关闭的时候,会执行系统中已经设置的所有通过方法addShutdownHook添加的钩子, * 当全部执行完这些钩子后,jvm才会关闭。所以这些钩子可以在jvm关闭的时候进行内存清理、对象销毁等操作。 * 方法名称改为executeBeforeJVMShutDown 或许更容易理解。哈哈 * 看例子: * */public原创 2016-03-04 18:36:47 · 529 阅读 · 0 评论 -
java并发编程学习之synchronized学习总结
一、修饰方法 当synchronized用来修饰方法的时候,实际上取得的锁是当前对象的方法锁,也就是说,这个方法还可以被其他线程的该类对象进行访问。直接用代码测试:package org.netease.concurrent;public class Thread2 { void start() { A a = new A(); B b = new B();原创 2015-11-25 16:10:10 · 380 阅读 · 0 评论 -
java并发编程学习之脏读代码示例及处理
public class Thread10 { public static void main(String[] args) { Thread10_Entity entity = new Thread10_Entity(); Thread10_1 t10_1 = new Thread10_1(entity); t10_1.start();原创 2015-12-21 21:05:19 · 2563 阅读 · 0 评论 -
java并发编程学习之一段简单代码证明synchronized锁的是对象
废话不多说,上代码!public class Thread9 { public static void main(String[] args) { Thread9_Util t9 = new Thread9_Util(); Thread9_1 t91 = new Thread9_1(t9); Thread9_2 t92 = new Thread9_2(t9);原创 2015-12-21 20:34:33 · 644 阅读 · 0 评论 -
java并发编程学习之currentThread方法学习
currentThread方法可以返回当前代码正在被谁调用的信息,在并发编程中很明显可以用来调试程序,看代码!public class Thread4 { public static void main(String[] args) { Thread4_1 t4 = new Thread4_1(); Thread t = new Thread(t4); t.start原创 2015-12-03 20:42:20 · 917 阅读 · 0 评论 -
java并发编程学习之内置锁的可重入性
内置锁的可重入性: 可重入性解释,《java并发编程实战》中有如下解释:如果某个线程试图获得一个由它自己持有的锁,那么这个请求就会成功! 下面是代码验证:public class Thread3 extends Parent{ public synchronized void print(){ System.out.println("------child print原创 2015-11-25 17:53:52 · 455 阅读 · 0 评论 -
java并发编程学习之interrupt相关方法学习(二)
在上篇博客中我多次说到,当线程调用interrupt方法的是,并不是立刻停止当前线程,而是给该线程赋予了一个停止的标志。那么如何证明这句话的真伪呢。看代码。package org.netease.concurrent;public class Thread5 { public static void main(String[] args) throws InterruptedException原创 2015-12-11 11:25:38 · 513 阅读 · 0 评论 -
java并发编程学习之interrupt相关方法学习(一)
public class Thread5 { public static void main(String[] args) { Thread5_1 t5 = new Thread5_1(); t5.start(); t5.interrupt(); Thread.currentThread().interrupt(); Syst原创 2015-12-10 18:46:33 · 457 阅读 · 0 评论 -
IDEA 实体类一键调用set方法
yoke白板2016/08/10 18:50试试我写的插件吧 满足你的需求我也是找了好久好久没找到, 没办法 自己想办法写了一个https://github.com/yoke233/genSets/releases用代码把梦想照进现实01/15 14:49可以用,谢谢大神。。。 各位同学们把下载的jar引入到idea的plugins,然后重启ide...翻译 2019-07-10 10:40:57 · 4274 阅读 · 1 评论