Java
文章平均质量分 94
_Kafka_
这个作者很懒,什么都没留下…
展开
-
Kafka事务「原理剖析」
Kafka事务「原理剖析」转载 2023-03-09 17:34:00 · 1713 阅读 · 1 评论 -
Float和Double的精度
1 范围float和double的范围是由指数的位数来决定的。float的指数位有8位,而double的指数位有11位,分布如下:float:1bit(符号位)8bits(指数位)23bits(尾数位)double:1bit(符号位)11bits(指数位)52bits(尾数位)在数学中,特别是在计算机相关的数字(浮点数)问题的表述中,有一个基本表达法[1]: value of floating-point=significandxba...原创 2021-06-05 09:49:55 · 1458 阅读 · 0 评论 -
Java 注解和反射详解
注解什么是注解?Annotation 是从 JDK 1.5 开始引入的新技术 Annotation 的作用 不是程序本身,可以对程序作出解释(这一点和注释没什么区别) 可以被其它程序(比如:编译器等)读取 Annotation 的格式 注解是以 “@注释名” 在代码中存在的,还可以添加一些参数值,例如: @SuppressWarnings(value=“unchecked”) Annotation 在哪里使用? 可以附加在 package,class,method,field转载 2020-09-27 18:03:24 · 1715 阅读 · 1 评论 -
Java中的List、Set和Map的各自特征及使用场景
Java中的集合分为单列集合Collection和双列集合Map。先通过这张图看看Collection和Map的各自体系。首先看单列集合Collection中的List及Set的各自特征。List(有序,可重复)ArrayList底层数据结构是数组,查询快,增删慢线程不安全,效率高...转载 2020-04-14 18:06:34 · 187 阅读 · 0 评论 -
Java Unsafe使用讲解
前段时间因为看JUC的源码,里面有大量关于unsafe的操作,所以就来看看了.写点笔记总结下:unsafe可以帮我们直接去操作硬件资源,当然了是借助java的jit来进行的,官方不推荐使用,因为不安全,例如你使用unsafe创建一个超级大的数组,但是这个数组jvm是不管理的,只能你自己操作,容易oom,也不利于资源的回收.好了,下面我们来看代码,获取unsafe实例1.获取unsa...转载 2020-03-07 13:06:07 · 417 阅读 · 0 评论 -
JavaNIO多Reactor模式实现echo服务器
多Reactor模型 从图中可以直接看出,我们实现了一个主反应器(mainReactor)和多个次反应器(subReactor),主反应器中包含了一个ServerSocketChannel用来接收所有的请求,主反应器中的选择器通过轮询方式将新链接交由不同的次反应器,次反应器维护主反应器交付的SocketChannel,次反应器负责链接的读写操作。 本来想着从网...原创 2020-02-29 23:15:53 · 300 阅读 · 0 评论 -
netty的线程池-----揭示了使用两个线程池的原因
线程模型是Netty的核心设计,设计地很巧妙,之前项目中有一块处理并发的设计和Netty的Eventloop单线程设计类似,效果得到了实证。Netty5的类层次结构和之前的版本变化很大,网上也有很多文章写Netty的线程模型,Reactor模式,比如这篇http://blog.csdn.net/xiaolang85/article/details/37873059, 应该是引自《Netty权威...原创 2020-01-09 16:08:43 · 273 阅读 · 0 评论 -
java的动态代理机制详解
在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。在java的动态代理机制中,有两个重要的类或接口...原创 2019-05-10 10:30:16 · 99 阅读 · 0 评论 -
JAVA多线程中join()方法的详细分析
转自:https://blog.csdn.net/u013425438/article/details/80205693虽然关于讨论线程join()方法的博客已经非常极其特别多了,但是前几天我有一个困惑却没有能够得到详细解释,就是当系统中正在运行多个线程时,join()到底是暂停了哪些线程,大部分博客给的例子看起来都像是t.join()方法会使所有线程都暂停并等待t的执行完毕。当然,这也是因为...转载 2019-05-07 10:23:54 · 103 阅读 · 0 评论 -
工具类 | JAVA发送HTTP请求,并接受返回内容
转自:https://blog.csdn.net/liupeifeng3514/article/details/80103572/** * Copyright 2017 * 注意:请勿修改 * All right reserved. */import java.io.BufferedReader;import java.io.DataOutputStream;import...转载 2019-03-10 10:06:52 · 561 阅读 · 0 评论 -
jdk1.6 支持 tls1.2协议,并解决UnsupportedOperationException问题
最近项目遇到 jdk1.6使用https请求服务器,服务器明确做了协议要求,只支持tls1.2及以上协议。目前的报错是Remote host closed connection during handshake , 通过查阅资料说jdk1.6版本只支持tls1.0 , ssl 3.0 协议,如果用jdk1.6请求tls1.2协议的接口,需要引入第三方库,网上有很多关于调用第三方包重...原创 2019-03-08 23:00:44 · 6147 阅读 · 13 评论 -
线程间通信的几种方式
Java线程间通信: 1:线程上下文 2:共享内存 3:IPC通信 4:套接字(Socket),不同的机器之间进行通信另外:附注通信内容:linux常用的进程间的通讯方式 (1)、管道(pipe):管道可用于具有亲缘关系的进程间的通信,是一种半双工的方式,数据只能单向流动,允许一个进程和另一个与它有共同祖先的进程之间进行通信。 (2)、命名管道(n...原创 2018-04-19 11:43:43 · 4647 阅读 · 1 评论 -
主线程使用Handler的通信过程
首先在主线程创建一个Handler对象 ,并重写handleMessage()方法。然后当在子线程中需要进行更新UI的操作,我们就创建一个Message对象,并通过handler发送这条消息出去。之后这条消息被加入到MessageQueue队列中等待被处理,通过Looper对象会一直尝试从Message Queue中取出待处理的消息,最后分发会Handler的handler Mess...原创 2018-04-19 11:51:20 · 416 阅读 · 0 评论 -
import com.google.common.* 出错,找不到
问题:在打开NFCDemo时,import com.google.common.base.Charsets;import com.google.common.base.Preconditions;import com.google.common.collect.ImmutableMap;import com.google.common.collect.Iterables;报错,找不到这些类解决:要...转载 2018-05-03 18:42:38 · 9102 阅读 · 1 评论 -
DES 加密解密类(Java 很好用)
背景在讨论 DES 之前,首先了解一下什么是对称加密算法吧。对于对称加密算法,他应用的时间比较早,技术相对来说比较成熟,在对称加密算法中,数据发信方将明文(原始数据)和加密密钥一起经过特殊加密算法处理后,使其变成复杂的加密密文发送出去。收信方收到密文后,若想解读原文,则需要使用加密用过的密钥及相同算法的逆算法对密文进行解密,才能使其恢复成可读明文。在对称加密算法中,使用的密钥只有一个,发收信双方都...原创 2018-05-03 19:17:51 · 3955 阅读 · 0 评论 -
UML类图(Class Diagram)中类与类之间的关系及表示方式
转载:https://blog.csdn.net/a19881029/article/details/8957441类之间大体分为5种关系: 1,依赖关系(Dependency)单向,表示一个类依赖于另一个类的定义,其中一个类的变化将影响另外一个类,是一种“use a”关系如果A依赖于B,则B表现为A的局部变量,方法参数,静态方法调用等[java] view plain copypublic cl...转载 2018-05-20 09:05:44 · 365 阅读 · 0 评论 -
JAVA设计模式之单例模式
转载:https://blog.csdn.net/jason0539/article/details/23297037/本文继续介绍23种设计模式系列之单例模式。概念: java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下特点: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类...转载 2018-05-20 19:01:53 · 132 阅读 · 0 评论 -
java getBytes()方法详解--参数的作用
String的getBytes()方法是得到一个系统默认的编码格式的字节数组getBytes("utf-8") 得到一个UTF-8格式的字节数组把String转换成bytes,各种编码转换成的bytes不同,比如UTF-8每个汉字转成3bytes,而GBK转成2bytes,所以要说明编码方式,否则用缺省编码。都是将一个string类型的字符串转换成byte类型并且存入一个byte数组中。...原创 2018-05-27 19:10:51 · 10581 阅读 · 0 评论 -
回调思想
项目的开发中用到了Fragment,MainActicity与Fragment之间需要通信。由于Fragment是在MainActivity中被调用的,所以在MainActivity中使用Fragment的方法是一件简单的事情,但Fragment中要使用MainActivity的方法就要用到回调的思想了。可以说回调的思想浸润于android设计的方方面面,据了解,android开发...原创 2018-06-25 10:21:36 · 198 阅读 · 0 评论 -
Android开发工具----界面管理器(MiddleManager)
设计目的 在Android APP 开发过程中,设计与用户良好交互并且运行效率高、资源占用少的界面几乎是一件不可避免的事情。因为Android 系统的CUP和内存不像PC机那样充足。对于Android 界面展示可能最开始想到的就是每一个界面用一个Activity,如果界面之间需要跳转,用意图(Intent)来启动要跳转的界面。但是仔细想想一个应用里的界面有几十个,在使用应用时,我们可...原创 2018-06-25 10:34:12 · 1625 阅读 · 0 评论 -
Android UI界面基类(BaseUI)的封装
设计目的 在界面设计的过程中不难发现每一个界面中有许多相似的逻辑和相似的代码,我们可以将这些公共的代码抽取出来,新建一个基类来简化程序,使得程序的累赘部分减少,更加简洁。同时实现界面抽象化,通过基类接口处理子类对象。设计思想 要抽取出基类,我们首先去找出每个界面共有的部分。界面初始化信息是必不可少的,可能某些界面有点击按钮,那就可以将设置监听方法和点击方法在...原创 2018-06-25 10:38:14 · 2459 阅读 · 0 评论 -
Eclipse 编译错误 Access restriction:The type *** is not accessible due to restriction on... 解决方案
Eclipse 编译错误 Access restriction:The type *** is not accessible due to restriction on... 解决方案 Eclipse 编译时报错: Access restriction:The type JPEGCodec is not accessible due to restriction on...原创 2018-03-26 17:19:51 · 164 阅读 · 0 评论