- 博客(14)
- 收藏
- 关注
原创 finally到底是在return之前执行还是return之后执行?
finally一般是在try里面捕获异常用的,为了确保某些操作一定可以执行public class Test { public static void main(String[] args) { query(); } public static void query() { int i = 0; i++; ...
2019-08-28 14:08:15
1582
原创 设计模式之-工厂模式
简单工厂模式简单工厂模式是指由一个工厂对象决定创建出哪种产品类的实例,但它不属于23种设计模式.代码演示如下:定义一个支付接口public interface IPay { void pay();}定义两个支付类支付宝和微信public class AliPay implements IPay { @Override public void pay() {...
2019-08-20 21:37:15
115
原创 软件设计原则
软件设计原则开闭原则->对扩展开放,对修改关闭依赖倒置原则->通过抽象使各个类或者模块不互相影响,实现松耦合单一职责原则->一个类,接口,方法只做一件事接口隔离原则->尽量保证接口的纯洁性,客户端不应该依赖不需要的接口迪米特法则->又称为最少知道原则,一个类对其依赖的类知道的越少越好里氏替换原则->子类可以扩展父类的功能但不能改变父类原有的功能合成...
2019-08-20 21:36:46
118
原创 多线程的实现方式
多线程的实现方式继承Thread类Thread类本质上是实现了Runnable接口的一个实例,代表一个线程的实例。启动线程的唯一方法就是通过Thread类的start()实例方法,start()方法是一个native方法,它会启动一个新线程,并执行run()方法。这种方式实现多线程很简单,通过自己的类直接extend Thread,并复写run()方法,就可以启动新线程并执行自己...
2019-08-17 19:43:40
129
原创 Kafka集群环境安装
环境准备准备三台虚拟机分别把kafka的安装包部署在三台机器上修改配置以下配置修改均为server.properties分别修改三台机器的server.properties配置,同一个集群中的每个机器的id必须唯一broker.id=0 broker.id=1 broker.id=2修改zookeeper的连接配置zookeeper.connect=192.168...
2019-08-16 23:03:42
79
原创 kafka的基本操作
创建topicsh kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 -- partitions 1 --topic testReplication-factor 表示该topic需要在不同的broker中保存几份,这里设置成1,表示在两个broker中保存两份Partitions 分区数...
2019-08-16 23:03:08
110
原创 Kafka的安装部署
下载kafka下载地址https://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz安装安装过程非常简单,只需要解压就行,因为这个是编译好之后的可执行程序tar -zxvf kafka_2.11-2.0.0.tgz 解压配置zookeeper因为kafka依赖于zookeeper来做master选举一起其他数据的维护...
2019-08-16 23:02:40
82
原创 Kafka介绍
kafka的介绍Kafka是一款分布式消息发布和订阅系统,它的特点是高性能、高吞吐量。最早设计的目的是作为LinkedIn的活动流和运营数据的处理管道。这些数据主要是用来对用户做用户画像分析以及服务器性能数据的一些监控所以kafka一开始设计的目标就是作为一个分布式、高吞吐量的消息系统,所以适合运用在大数据传输场景。Kafka的应用场景由于kafka具有更好的吞吐量、内置分区、冗余及...
2019-08-16 23:01:56
346
原创 8种基本类型所占字节数及取值范围
8种基本类型所占字节数及取值范围类型字节数位数取值范围Byte18-2的7次方到2的7次方-1Short216-2的15次方到2的15次方-1Int432-2的31次方到2的31次方-1Long864-2的63次方到2的63次方-1Float4323.402823e+38 ~ 1.401298e-45Double...
2019-08-16 21:44:06
1208
原创 字符串拼接总结
常用的字符串拼接方式有五种,分别是使用+、使用concat、使用StringBuilder、使用StringBuffer以及使用StringUtils.join。由于字符串拼接过程中会创建新的对象,所以如果要在一个循环体中进行字符串拼接,就要考虑内存问题和效率问题。因此,经过对比,我们发现,直接使用StringBuilder的方式是效率最高的。因为StringBuilder天生就是设计来定义可...
2019-08-16 21:42:47
556
原创 java使用字符串拼接的方式
java使用字符串拼接的方式1.使用+拼接字符串代码:String wechat = "Hollis";String introduce = "每日更新Java相关技术文章";String hollis = wechat + "," + introduce;反编译后:String wechat = "Hollis";String introduce = "每日更新Java相关技术文...
2019-08-16 21:42:15
930
原创 int和Integer的区别
1、Integer是int的包装类,int则是java的一种基本数据类型2、Integer变量必须实例化后才能使用,而int变量不需要3、Integer实际是对象的引用,当new一个Integer时,实际上是生成一个指针指向此对象;而int则是直接存储数据值4、Integer的默认值是null,int的默认值是01、由于Integer变量实际上是对一个Integer对象的引用,所以两个通过...
2019-08-16 21:35:27
74
原创 单例模式总结
单例模式总结饿汉式单例//优点:没有任何锁、执行效率较高,在用户体验上来看比懒汉式好,绝对的线程安全,在线程还没出现之前就实例//化了,不可能存在安全问题//缺点:在类加载的时候就初始化了,不管你用还是不用,浪费了资源,占用内存public class HungrySingleton { //类初始化的顺序 //先静态、后动态 //先属性、后方法 //先上...
2019-08-16 21:25:15
82
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人