try-catch-finally一些问题

finally是必须执行的语句块,即便try或者catch有返回。但是测试过其实try或者catch里面的return是先执行的,只是结果缓存了,没有跳转,而是到了finally语句块。 来两段代码记录下 public class App { public static void mai...

2019-07-09 22:12:21

阅读数 9

评论数 0

Git创建一个空的分支,指定-b分支下载问题

空分支 在项目开发到一半的时候,创建一个新分支 git checkout -b branch-name 但是这个新分支也会包括当前所有的文件,也就是它依赖于原(master)父分支生成的,即便是另外开一个空文件夹,把 .git 本地仓库放进去,创建一个新的分支,提交依然会附加之前的文件。 想创建...

2019-06-16 22:43:57

阅读数 42

评论数 0

RabbitMQ介绍&安装

介绍 RabbitMQ是一种基于AMQP(高级消息队列协议)的消息中间件。 分为消息生产者、消费者 服务端是一个broker,里面就是一个虚拟主机,虚拟主机里面有三种交换机和绑定的队列 直连、主题、广播三种交换机,根据关键字单词匹配 安装 安装比较繁琐,因为RabbitMQ是基于Erlang...

2019-05-15 17:00:04

阅读数 64

评论数 0

京东 2019实习生Java笔试题目2,求T串中最多的不相交Sm子串的个数

1. 题目 样例输入: 3 aa b ac bbaac 样例输出: 3 样例解释:把T中字符从1开始编号,用[L,R]表示从第L个字符到第R个字符所构成的子串。一种选择子串的方法是[1,1],[2,2],[3,4] (b、b、aa) 一共3个串,另一种选法是[1,1],[2,2],[4,5...

2019-04-13 22:06:29

阅读数 139

评论数 0

高并发synchronized深入详解

1. synchronized概述   synchronized是Java的一个关键字,修饰符。是Java多线程加锁机制的一种,一种隐式内置锁/监听器锁(对比显式Lock锁)。它也是一种互斥锁,保证了被修饰的块每次只能有一条线程访问。 1.1 细分 对象锁:synchronize修饰的是实例方法...

2019-04-05 23:29:41

阅读数 483

评论数 0

Git/GitHub 小技巧总结

1. 撤销git add . # 添加修改 git add . # 撤销添加 git reset HEAD . 图片来自网络 2. Git忽略添加某些文件 比如我们 git add .,添加修改以便提交的时候,我们不希望添加target目录,可以配置忽略文件 在项目仓库更目录下新建...

2019-04-03 12:46:09

阅读数 129

评论数 0

常用设计模式——单例模式

个人整合学习自 《Java设计模式》 刘伟 编著 单例模式 Singleton Pattern:确保一个类职业一个实例,并提供一个全局访问点来访问这个唯一实例。也是一直创建型模式。 单例模式的三个要点: 某个类只能有一个实例; 它必须自行创建这个实例; 它必须自行向整个系统提供这个实例。 ...

2019-04-03 11:12:16

阅读数 91

评论数 0

Spring Cloud Ribbon实现客户端负载均衡

  在分布式架构中,服务端负载均衡通常由Nginx实现分发请求的,而客户端的同一个实例部署在多个应用上时,也需要实现负载均衡,Spring Cloud Ribbon( [ˈrɪbən] ) 正好提供了这个功能。 1. Ribbon   Ribbon [ˈrɪbən] 是 Netflix 发布的...

2019-03-27 20:28:44

阅读数 116

评论数 0

Spring Cloud Eureka实现服务发现

1. Eureka   Eureka [jʊ’ri:kə] 是Netflix发现的一个服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS(Amazon Web Service)域中的中间件服务,以达到负载均和和中间服务故障转移的目的。Spring Cloud将其集成在自己的子项目...

2019-03-25 17:31:38

阅读数 135

评论数 0

Maven项目继承父项目依赖

Maven子项目继承父项目的依赖比较常用。比如Spring Boot项目 <parent> <groupId>org.springframework.boot</groupId> &lt...

2019-03-24 21:06:56

阅读数 648

评论数 0

JVM运行时数据区域

个人学习整合自: 《深入理解Java虚拟机》 周志明著

2019-03-23 17:43:54

阅读数 89

评论数 0

Java异常处理机制

1. 异常层次结构图 图片来自网络,侵删。 Java异常的处理机制是:抛出异常,捕获异常 Java异常都是对象,都派生自java.langThrowable类,主要分为Exception和Error两类 Error:程序无法处理的严重错误, 比如OutOfMemoryError。这些异常发...

2019-03-21 17:48:00

阅读数 101

评论数 0

单体架构、SOA、微服务架构

1. 单体架构的问题   在Java Web开发中,web工程一般会被打包为war包部署在Servlet容器中,如Tomcat。比较简单,开发和调试部署都很方便。   但是当用户量大时,并发量高时,一台机器是无法满足系统的负载的,我们会考虑水平拓展,比如增加服务器的数量,通过负载均衡器(如Ngin...

2019-03-18 23:14:11

阅读数 8428

评论数 0

常用设计模式——创建者模式

个人整合学习自 《Java设计模式》 刘伟 编著 模式概述 Builder Pattern: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。也是一种创建型模式。 Builder(抽象建造者):接口、抽象类,一般包括builderPartX()和getResult...

2019-03-13 22:06:04

阅读数 93

评论数 0

常用设计模式——抽象工厂模式

个人整合学习自 《Java设计模式》 刘伟 编著 模式概述 抽象工厂模式是所有形式的工厂模式中最为抽象和最具一般性的一种形式。抽象工厂模式与工厂方法模式最大的区别在于,工厂方法模式针对的是一个产品,而抽象工厂模式针对的是多个/一组产品,常见的用途是换皮肤(皮肤里面有很多组件,对应一组产品) ...

2019-03-12 17:59:20

阅读数 93

评论数 0

Java面向对象设计原则

个人学习整合自 《Java设计模式》 刘伟 编著 面向对象设计原则 目的是软件的可维护性和可复用性。 最常见的有以下七个。 1. 单一职责原则 Single Responsibility Principle(SRP) 一个对象一个只包含单一的职责,并且该职责被完整地封装在一个类中。 比如...

2019-03-11 23:56:50

阅读数 241

评论数 0

Java 快速排序

  快排本质上也是交换排序。不过对比交换排序的只能一直替换相邻元素的费劲。快排使用双向检索交换。好久不写,漏洞百出。常见的数组下标越界问题。 package xyz.cglzwz.question_bank; public class QuickSort { public static vo...

2019-03-10 11:36:25

阅读数 182

评论数 0

常用设计模式——工厂方法模式

个人整合学习自 《Java设计模式》 刘伟 编著 工厂方法模式   工厂方法模式是简单工厂模式的延续,它集成了简单工厂模式的优点,同时还弥补了简单工厂模式的不足。工厂方法模式是使用频率最高的设计模式之一。是很多开源框架和API类库的核心模式。如常见的日志记录工具SLF4J。 实现   其实...

2019-03-08 21:32:22

阅读数 82

评论数 0

Java对象未初始化,可以调用对象类的静态方法

package xyz.cglzwz.question_bank.simple; public class StaticTest { public static void sayHi() { System.out.println("hi"); } ...

2019-03-07 12:33:16

阅读数 245

评论数 0

Java集合remove重载方法越界问题

Java集合,如List,有remove方法,但是这是一对重载方法 package xyz.cglzwz.question_bank.collectionandmap; import java.util.ArrayList; import java.util.List; public clas...

2019-03-04 23:52:58

阅读数 126

评论数 0

提示
确定要删除当前文章?
取消 删除