java 基础
文章平均质量分 67
Red_Dragon_
加油(ง •̀_•́)ง
展开
-
数据去重复
转载请注明出处: http://blog.csdn.net/user11223344abc?viewmode=contents 出自【蛟-blog】1.只有一个集合的情况下,自身去重复(1),遍历这种情况要求被去重复的元素对象复写equals方法 注意:这儿我复写了比较器方法Comparable和去重无关 这儿是根据搜索的字符串来去重public class SearchBean原创 2017-07-11 11:52:06 · 330 阅读 · 0 评论 -
内存泄漏—出现情况,非静态内部类对外部类引用持有的泄漏复现
前言本文为制造一个”非静态内部类对外部类的引用持有”泄漏并对其结果进行观察作为学习使用,手段是制造泄漏,目的是了解泄漏产生的原因并未解决提供一种思路。本文只是对泄漏测试代码的一个讲解,并没有涉及到泄漏排查工具的使用,结合工具使用我会另开一片文章,链接我一会儿附上。Code俩个Activity,一个SplashActivity,一个LeakActivity。操作路径是从Spla...原创 2018-05-15 09:55:37 · 2264 阅读 · 0 评论 -
内存泄漏—Android Studio 3.0 + MAT
前言android studio 3.0 推出的profile由于本人不知道究竟能否独立完成内存泄漏的排查工作,所以本文还是结合了MAT来进行内存泄漏排查。本文的示例代码时基于之前俩篇分析博客,建议先看看: profile工具使用入门: 非静态内部类持有外部类引用引起的内存泄漏分析预备工作MAT安装MAT in Eclipse MAT单体安装分析首...原创 2018-05-16 11:47:17 · 2413 阅读 · 0 评论 -
Java锁
前言参考:https://www.cnblogs.com/wangyayun/p/6593446.html 进阶:http://www.importnew.com/19472.html 本文Demo:java中的锁一般指的是互斥锁,只是一般,高阶的本文暂不讨论。什么是互斥锁?当多个线程对共享资源访问的时候,只能有一个线程可以获得该共享资源的锁,当线程A尝试获取线程B的锁时,...原创 2018-05-23 09:56:57 · 179 阅读 · 0 评论 -
Java内存—JVM与GC垃圾回收
JVM 名称 存储目标 线程共享 备注 异常 方法区(静态区) 常量,静态变量,类加载和编译信息 √ X OutOfMemoryError 堆区 普通java对象 √ gc和内存泄漏一般发生在堆区 OutOfMemoryError 程序计数器 当前线程所执行的字节码行号指示器 X X X...原创 2018-05-16 21:31:02 · 362 阅读 · 0 评论 -
设计模式—结构型—生产者消费者模式
介绍 1.生产者生产数据到缓冲区中,消费者从缓冲区中取数据。 2.如果缓冲区已经满了,则生产者线程阻塞。 3.如果缓冲区为空,那么消费者线程阻塞。2种实现方式实际上还有一种await、signalAll的实现方式,这里我排除了,因这里需要涉及到Lock的东西,精力有限,暂时TODO。 这里只实现sychronized和bloackQueue的例子。wait / no...原创 2018-05-23 14:11:08 · 591 阅读 · 0 评论 -
Java 线程池
介绍java线程池有四种,分别是FixedThreadPool,CachedThreadPool,ScheduledThreadPool,SingleThreadExecutor,这四种只是概念,并没有真实的.java文件存在。他们都是ThreadPoolExecutor的不同实现。类ThreadPoolExecutor是接口ExecutorService的实现。java提供了一个工厂类...原创 2018-05-24 11:28:30 · 242 阅读 · 0 评论 -
测试报告:Method#getDeclareClass()
测试代码package zj.playretrofit;import java.lang.*;import java.lang.reflect.Method;enum newEnum { M { }, N { };}class InnerClassA{ public void haha(){ };}public...原创 2018-07-05 10:09:53 · 824 阅读 · 0 评论 -
Http/TCP/SOCKET
1.TCP连接与HTTP连接的关系在网络分层中,HTTP协议是基于TCP协议的;客户端向服务端发送一个HTTP请求时,需要先与服务端建立TCP连接,也就是经典的三次握手(通常对用- 户来说是很难察觉的),握手成功以后才能进行数据交互;HTTP是基于请求响应模式且无状态的协议,1.1之前只支持短连接,也就是请求响应一次以后连接中断,下次请求需要重新进行TCP连接,而1.1之后支持持长连接,即...转载 2018-11-06 08:46:19 · 3975 阅读 · 1 评论 -
java中的运算符— ~
是对其运算数的每一位取反。例如,数字42,它的二进制代码为: 00101010 经过按位非运算成为 11010101原创 2018-05-18 12:35:22 · 442 阅读 · 0 评论 -
java时间差计算
转载请注明出处: http://blog.csdn.net/user11223344abc?viewmode=contents 出自【蛟-blog】直接上代码了,不过我还是简单说下这段代码的使用场景: 这是我在做一个订单详情的时候需要用到的一个方法。具体需求是: - 服务器会返回给我订单的创建时间 - 然后有一个需求前提就是说,当一个订单被创建后48小时不付款的话这个订单就自动取原创 2017-07-12 23:44:43 · 402 阅读 · 0 评论 -
JAVA反射强转创建对象
public T creatProduct(Class clz) { Api api=null; try { api=(Api) Class.forName(clz.getName()).newInstance(); } catch (InstantiationException | IllegalAccessEx原创 2017-07-26 17:38:57 · 2039 阅读 · 0 评论 -
java保留2位小数问题
一般的,咱保留俩位小数的方式。 double a = 2.01; double b = 1.56; double c = a * b ; DecimalFormat df = new DecimalFormat("#0.00"); String format = df.format(c);原创 2017-08-26 11:17:29 · 377 阅读 · 0 评论 -
java 各个类型数据的取值范围
对于java的数据类型,既熟悉又陌生,于是整理了这篇文档。最近的面试让我开始注意细节,细节真的很重要。一、分析基本数据类型的特点,最大值和最小值。1、基本类型:int 二进制位数:32包装类:java.lang.Integer最小值:Integer.MIN_VALUE= -2147483648 (-2的31次方)最大值:Integer.MAX_VALUE= 2147转载 2017-08-30 10:14:07 · 1073 阅读 · 0 评论 -
Java强软弱虚4大引用
概念:System.gc(),实际上System.gc()调用的又是 Runtime.getRuntime().gc(); gc它的缺点就是无法根据我们的需求去回收内存,这时候就要说到java 1.2引入的4个引用类型。强软弱虚。这4个引用出现的背景实际上就是为了我们在一定程度上对gc的可控,让它变得尽量的符合我们对内存分配的预期。强引用:强引用就是Object o = new Object()原创 2017-11-27 16:46:16 · 650 阅读 · 0 评论 -
什么是jvm?
本文转自:http://blog.csdn.net/stanlee_0/article/details/51171382说明:做java开发的几乎都知道jvm这个名词,但是由于jvm对实际的简单开发的来说关联的还是不多,一般工作个一两年(当然不包括爱学习的及专门做性能优化的什么的),很少有人能很好的去学习及理解什么是jvm,以及弄清楚jvm的工作原理,个人认为这块还是非常有必要去认真了转载 2018-01-11 17:41:46 · 287 阅读 · 0 评论 -
全面理解JAVA内存模型
本文转自: http://blog.csdn.net/suifeng3051/article/details/52611310Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。如果我们要想深入了解Java并发编程,就要先理解好Java转载 2018-01-15 10:48:59 · 206 阅读 · 0 评论 -
一个奇妙的java坑:Long 类型的比较
本文转自:http://www.cnblogs.com/weidiao/p/5468065.html Long userId=127L; Long authorId=127L; System.out.println(userId==authorId);//true userId=128L; authorId=128L; System.out.pr...转载 2018-03-08 14:21:39 · 2793 阅读 · 0 评论 -
从Runnable和Thread的角度来看Callable,Future, FutureTask
Callable,Future—相辅相成这里在学RxJava操作符,涉及到了这俩个类,所以在此学学。这俩个类是java包里的,线程相关类。Runnable知道吧,我们记得Runnable在被Thread执行的时候都是自动执行,自动结束,并且,没有返回值。它俩就相当于是这个Runnable的增强版。可以获得线程的返回值。怎么获得?这里先简单说下,然后看一段代码大家就明白了。Callable...原创 2018-05-09 15:00:20 · 605 阅读 · 0 评论 -
java中的运算符— &=
a &= b 相当于 a = a&b原创 2018-05-18 12:38:41 · 410 阅读 · 0 评论 -
Https/SSL/对称加密/非对称加密
0.前言ISO7层模型,网络由下往上分为:物理层-- 网线,集线器hub;数据链路层-- 交换机,mac地址;网络层-- 路由器,IP协议;传输层-- TCP/UDP协议;会话层-- …表示层-- …应用层-- FTP、Telnet、SMTP、RIP、NFS、DNS。 HTTP(s)协议;这里主要关注应用层和传输层;http/https,TCP/UDP如你想了解更多,请参考:T...原创 2018-11-05 13:58:39 · 8060 阅读 · 1 评论