
java
驴三骑
一点浩然气,千里快哉风
展开
-
JAVA位移运算
1、java将负整数转成二进制这里以8位为例,只是为了表明过程,实际中java的int类型是4byte,也就是32位。二进制的首位是符号位,0表示正数,1表示负数,在java中,会对负数进行取反加一操作,进而计算出实际的十进制值。如10101010,此8位的二进制数首位是1,表示负数,所以对后面的七位进行取反加一操作,即0101010–>1010110,换成十进制的数就是86,再加上首位的1表示负数,结果就是-86。2、位移运算1)正数的右移:如10 >> 2,左边自动补0,右边移出转载 2021-01-05 14:06:53 · 275 阅读 · 0 评论 -
springboot使用环绕通知打印每个方法运行时间
在调用方法时,知道每个方法的运行时间是很有必要的,使用AOP可以很好的实现:@Aspect@Component@Slf4jpublic class ServiceLogAspect { /** * 环绕通知,打印超时方法日志 * 3s error * 2s warn * <2s info * @param joinPoint * @return * @throws Throwable */ @Ar原创 2020-10-24 10:59:33 · 1077 阅读 · 0 评论 -
SpringBoot使用@PropertySource获取properties配置信息
文章目录SpringBoot使用@PropertySource获取properties配置信息新建Properties文件编写对应的类测试SpringBoot使用@PropertySource获取properties配置信息新建Properties文件编写对应的类@Component@ConfigurationProperties(prefix = "test")@PropertySource("classpath:test.properties")public class TestProp原创 2020-10-22 14:59:33 · 805 阅读 · 0 评论 -
设计模式-单例模式
文章目录单例模式简介实现思路实现方式懒汉式,方法上加synchronized 的方式双检锁/双重校验锁(DCL,即 double-checked locking)枚举饿汉式破坏单例模式的方法及解决办法单例模式简介单例模式(Singleton Pattern)也叫单子模式,是一种常用的软件设计模式,属于创建型模式的一种。在应用这个模式时,单例对象的类必须保证只有一个实例存在。实现思路一个类能返回对象一个引用(永远是同一个)和一个获得该实例的方法(必须是静态方法,通常使用getInstance这个名原创 2020-08-21 00:03:02 · 128 阅读 · 0 评论 -
算法-冒泡排序
文章目录冒泡排序简介实现演示代码冒泡排序简介冒泡排序(Bubble Sort)又称为泡式排序,是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。实现演示代码 public static void main(String[] args) { //需要排序的数组 int原创 2020-08-20 22:52:12 · 173 阅读 · 0 评论 -
算法-二分查找
文章目录二分查找简介功能实现递归while循环完整代码二分查找简介二分查找(binary search)又叫折半查找,要求数据序列呈线性结构(排过序的数据序列)。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。如果在某一步骤数组为空,则代表找不到。这种搜索算法每一次比较都使搜索范围缩小一半。功能实现递归public static int binarySe原创 2020-08-20 14:19:56 · 135 阅读 · 0 评论 -
knife4j的使用
文章目录knife4j使用swagger2的使用Spring Boot 单服务架构knife4jknife4j的前世今生,我们不作细究,感兴趣的朋友可以去 官网 一探究竟。本文只是记录简单的使用方法,以便快速入手。使用swagger2的使用由于knife4j本就是需要swagger2支持,所以奉上swagger2学习地址:https://www.ibm.com/developerwor...原创 2020-05-01 23:06:32 · 10281 阅读 · 3 评论 -
IDEA中新建的yml文件没有识别成spring配置文件
文章目录问题描述解决方案问题描述IDEA中新建一个test.yml文件后,没有被识别成spring配置文件,如下图:解决方案解决方案是:首先进入 Project Structure点击 Facets点击右上角图标点击弹框中的 + 号增加新建的配置文件即可添加完成后:完成!...原创 2020-03-31 01:26:11 · 3504 阅读 · 1 评论 -
docker-使用docker搭建java环境
文章目录查找镜像运行镜像查找镜像去docker仓库查找java的镜像版本,我使用的是openjdk:8版本https://hub.docker.com/运行镜像原创 2020-03-27 16:25:03 · 1102 阅读 · 0 评论 -
postman上传文件
文章目录使用postman上传文件编写上传代码设置postman使用postman上传文件编写上传代码基于springboot,编写一段简易的上传功能代码:@PostMapping("/upload")public String uploadFile(@RequestParam(value = "file",required = true)MultipartFile file) thro...原创 2020-03-24 11:38:10 · 536 阅读 · 0 评论 -
JVM 虚拟机字节码指令表
文章目录栈和局部变量操作将常量压入栈的指令将栈中的值存入局部变量的指令wide指令类型转换整数运算逻辑运算移位操作按位布尔运算浮点运算对象和数组对象操作指令数组操作指令控制流条件分支指令比较指令#无条件转移指令表跳转指令异常方法调用与返回方法调用指令方法返回指令线程同步栈和局部变量操作将常量压入栈的指令aconst_null 将null对象引用压入栈iconst_m1 将int类型常量-1...原创 2019-10-18 16:44:04 · 383 阅读 · 0 评论 -
java多线程为什么经常使用notifyAll而不是使用notify
JVM多个线程间的通信是通过 线程的锁、条件语句、以及wait()、notify()/notifyAll组成。下面来实现一个启用多个线程来循环的输出两个不同的语句: packagecom.tyxh.block; classOutTurn { privatebooleanisSub=true; privateintco...转载 2019-03-08 09:39:38 · 742 阅读 · 0 评论 -
poi读取excel时,推荐workbook读取File,而不是FileInputStream
今天看poi的官方文档时,发现官方做了一个Files和InputStreams的对比,创建WorkBook时,推荐读取file。Files vs InputStreamsWhen opening a workbook, either a .xls HSSFWorkbook, or a .xlsx XSSFWorkbook, the Workbook can be loaded fro...原创 2019-03-14 14:24:28 · 4828 阅读 · 1 评论 -
转义输出Velocity表达式
velocity引擎解析模板时,可能需要直接输出模版的表达式,而不是被解析,例如:需要输出 $!{test} 但是直接在模版中编写$!{test}时,会被模版解析,这时需要加上转义符"\",这样编写\$!{test}就不会被解析了。...原创 2018-04-10 21:44:00 · 2387 阅读 · 0 评论 -
logback的使用和logback.xml详解
本文转载自:http://www.cnblogs.com/warking/p/5710303.htmllogback的使用和logback.xml详解一、logback的介绍 Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。它当前分为下面下个模块: logback-core:其它两个模块转载 2017-10-08 10:27:32 · 184 阅读 · 0 评论 -
求100以内的素数
public static void main(String[] args) { // TODO Auto-generated method stub for (int j = 2; j < 100; j++) { if (isPrime(j)) { System.out.println(j); } } } //判断是否是素数原创 2016-03-15 11:58:46 · 440 阅读 · 0 评论