
java
文章平均质量分 50
su1177
。。。。。。。。。。
展开
-
3分钟入门Java多线程
多线程下面通过一个取钱的案例给同学们演示一下。案例需求如下。原创 2024-04-27 21:17:06 · 322 阅读 · 1 评论 -
spring boot 将配置文件信息 赋值到类注解
何将application.properties中的值赋值给一个类注解原创 2024-04-25 20:01:56 · 391 阅读 · 2 评论 -
一篇文章看懂 Java SPI 机制及原理
还不懂什么是Java SPI的可以进来看看原创 2022-09-20 20:13:18 · 345 阅读 · 0 评论 -
忘记创建.gitignore文件怎么办
避免冲突先拉取最新代码,如果有冲突先解决冲突。在根目录中进行缓存清理,一定要在根目录下。再次到git根目录下,执行下面命令。创建.gitignore文件。原创 2021-08-31 22:04:19 · 462 阅读 · 0 评论 -
雪花算法 分布式系统生成id
分布式项目不能使用数据库本身的自增功能来产生主键值,原因是生产环境为分片部署的。而是使用snowflake (雪花)算法(twitter出品)生成唯一的主键值。41bit的时间戳可以支持该算法使用到2082年 10bit的工作机器id可以支持1024台机器 序列号支持1毫秒产生4096个自增序列id 整体上按照时间自增排序 整个分布式系统内不会产生ID碰撞 每秒能够产生26万ID左右代码如下/** * <p>名称:IdWorker.java</p> *原创 2020-12-03 21:40:15 · 446 阅读 · 0 评论 -
dubbo启动报错 java.lang.NumberFormatException: For input string: “127.0.0.1:2181“
项目场景:今天学习dubbo启动项目时,报错:java.lang.NumberFormatException: For input string: "127.0.0.1:2181"原因分析:期初以为是zookeeper配置文件中的data路径有问题,后来仔细查看发现是自己服务注册中心address属性有问题少加了//错误属性:可以看到zookeeper后面少了两个//<dubbo:registry address="zookeeper:127.0.0.1:2181"></du原创 2020-11-07 16:08:13 · 1448 阅读 · 0 评论 -
Java8中findAny和findFirst的区别
Java8引入了许多新特性其中findAny和findFirst就是其中之一,那么有什么区别呢?Optional findFirst():返回列表中的第一个元素。Optional findAny() :可以看到findAny()操作,返回的元素是不确定的,对于同一个列表多次调用findAny()有可能会返回不同的 值。使用findAny()是为了更高效的性能。如果是数据较少,串行地情况下,一般会返回第一个结果,如果是并行 的情况,那就不能确保是第一个。比如下面的例子会随机地返回OptionalI.原创 2020-08-26 18:49:29 · 1799 阅读 · 0 评论 -
如何优雅的初初始化Map
Map的初始化第一种:public void mapInit{ Map<String, String> myMap = new HashMap<String, String>(); myMap.put("a", "b"); }第二种,匿名内部类初始化HashMap<String, String > h = new HashMap<String, String>(){{ put("a","b"); }};第三种原创 2020-08-19 16:25:54 · 1742 阅读 · 1 评论 -
去掉字符串最后的点
例如去掉下面字符串最后的点 "."String key = "tableName.columnName."1. 方法一key = key.Substring(0,key.Length - 1)2. 方法二s = s.ToString().RTrim(',')str.replaceAll("[.]$","");https://www.cnblogs.com/Nightsky-Dec/p/6364898.html...原创 2020-08-19 15:10:42 · 459 阅读 · 0 评论 -
清空StringBuilder和StringBuffer方法及效率比较
清空的方法// 方法一sb.delete(0,sb.length());// 方法二 效率最高sb.setLength(0);// 方法三 sb = new StringBuffer();方法介绍完,接下来让我们来测测他们谁的效率最高吧测试代码如下 @Test public void test() { StringBuilder sb = new StringBuilder("efficiency"); // delete方法原创 2020-08-19 15:02:01 · 447 阅读 · 0 评论 -
fastjson如何避免$ref引用
实体转化为json字符串后出现了$ref字样的东西,这是因为在传输的数据中出现相同的对象时,fastjson默认开启引用检测将相同的对象写成引用的形式引用是通过"$ref"来表示的引用 描述 "$ref":".." 上一级 "$ref":"@" 当前对象,也就是自引用 "$ref":"$" 根对象 "$ref":"$.children.0" 基于路径的引用,相当于 root.getChildren().get(0) 解决办法// 单个关闭 J原创 2020-08-18 20:23:05 · 1773 阅读 · 6 评论 -
当同时在多个表中插入数据时,实现一个出错全部回滚
一、springboot如果你使用的是springboot那很简单,只需在方法的头部添加@Transactional(rollbackFor = Exception.class)即可例如 在我的Service@serviceclass UserServiceImpl{ @Transactional(rollbackFor = Exception.class) public boolean addUser(){ service.insertOne()原创 2020-08-17 20:32:14 · 5404 阅读 · 0 评论 -
junit 单元测试 规范
一、测试准则必须遵守AIR原则A(自动化):单元测试应该是全自动执行的,并且非交互。单元测试中不准使用System.out来进行人工验证,必须使用assert来验证。I (独立性):单元测试用例之间决不能互相调用,也不能依赖执行的先后次序。**反例:**method2需要依赖method1的执行,将执行结果作为method2的输入。R(可重复):单元测试是可以重复执行的,不能受到外界环境的影响。保证测试粒度足够小,有助于精确定位问题。单测粒度至多是类级别,一般是方法级别。核心业原创 2020-07-25 16:08:51 · 2619 阅读 · 0 评论 -
java判断一个字符串是否为数字型
给出一种最简单的正则匹配 public static boolean isInteger(String str) { Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$"); return pattern.matcher(str).matches(); }当然这并不是最完美的,...原创 2020-04-02 14:49:39 · 371 阅读 · 0 评论 -
jdk1.8 新特性之 forEach 循环遍历
JDK1.8之后引入了Lambda表达式,让集合的遍历变得简单,代码也更简洁了。1.遍历List List<Integer> numbers = Arrays.asList(6, 2, 2, 3, 7, 3, 5, 6); // 方式一 numbers.forEach(System.out::print); ...原创 2019-12-07 14:01:00 · 694 阅读 · 0 评论 -
Java正则表达式常用表达式
下面内容只记录了本人学习时常用的一些表达式。/** * 正则表达式案例 * . 匹配一个字符 * ^ 定义以什么开始 * \d 匹配一个或者多个数字 * \. 匹配.(可以匹配到5 1.5 2.21) * * 零次或者多次匹配前面的字符串或者子表达式。例如,zo* 匹配"z"和"zoo“还有”zooo“都是可以的...原创 2019-11-25 16:33:31 · 164 阅读 · 0 评论 -
Java中的this和super
this指向当前类的一个指针1.普通的直接引用就相当于调用自身2.当形参名和成员名相同是,用this来区分3.引用构造参数this(参数):调用当前类的其他构造函数this.方法名:调用当前类的其他方法Super指向最近父类对象的一个指针super.方法名:调用父类的方法。。。。。。注意:这里的方法必须是被重写的方法super.变量名:调用父类的属性值...原创 2019-09-29 15:30:34 · 298 阅读 · 0 评论 -
GC收集器有哪些
1.serial收集器单线程,工作时必须暂停其他工作线程。多用于client机器上,使用复制算法2.ParNew收集器serial收集器的多线程版本,server模式下虚拟机首选的新生代收集器。复制算法3.Parallel Scavenge收集器复制算法,可控制吞吐量的收集器。吞吐量即有效运行时间。4.Serial Old收集器serial的老年代版本,使用整理算法。5.Parallel ...原创 2019-08-23 09:50:53 · 1347 阅读 · 0 评论 -
Java 多线程模拟生产者和消费者
1.首先是资源类/** * 资源类 */public class Res { private String userName; private String sex; // true 生产者等待,消费者消费 private Boolean flag = true; .... get/set方法 .... }2.生产者类/* * ...原创 2019-07-15 17:54:20 · 267 阅读 · 0 评论 -
简单总结Java中String,StringBuffer和StringBuilder的区别
String类用final关键词修饰(final修饰的类不可被继承,方法不可被重写,变量不可变),所以,String类型的变量值一旦被创建便不可修改。StringBuffer和StringBuilder是可变的。 StringBuffer,默认加了同步锁,所以线程安全,适合多线程开发。而StringBuilder没有,所以是线程不安全的。 效率,StringBuilder > Stri...原创 2019-07-15 09:45:54 · 167 阅读 · 0 评论 -
java+jsoup实现简单的爬虫 简单爬取百度百度实时热点
架构:Maven + MyBatis + MySQL+ Mapper+ Jsoup先上整体架子数据库表设计下面就开始上代码了Day01_BaiduNewsCrawlerpackage edu.xawl.main;import edu.xawl.mapper.BaiduNewsMapper;import edu.xawl.po.BaiduNews...原创 2019-04-21 12:59:59 · 2651 阅读 · 0 评论 -
多态与重载的区别
多态与重载 说到这两个名词想必有许多人还没有区分吧,在网上也看到许多资料感觉写的都挺多的,最后自己理解了以后感觉其实并不难分别,下面我就说说我个人的看法。 多态:多态是对于类来说的,同一个类根据调用的方法不同而得到的结果不一样。 重载:重载是对于方法来说的,一个方法根据传入的参数不同而得到的结果不一样,这就是重载。 个人感觉这样是最好区分的。。。。。。。原创 2018-01-01 15:44:40 · 3028 阅读 · 2 评论 -
java 编写的计算器
大概可以完成加法、减法、乘法、除法和取余运算。且有小数点、正负号、求倒数、退格和清零功能。具体的还是上图吧 专为课程设计所做,有想要的宝宝 私我哦!原创 2018-01-02 08:29:17 · 732 阅读 · 0 评论 -
"Resource leak: 'scanner' is never closed"警告,在Scanner语句出现解决办法
相信好多小伙伴都见到过这样的警告吧,虽然他不影响运行,但是对我这种有强迫症的人来说,看到就很不舒服,就想把他弄没。相信和我想法相同的人肯定大有人在吧!哈哈。 好了废话不多说了,下面就送上解决办法! 解决方法很简单 就是。。。。。。。在main函数的最后加个 scanner.close();当然那个scanner是你new的Scanner对象。你要换成自己ne原创 2018-02-03 14:07:31 · 37311 阅读 · 9 评论 -
Java异常的小总结
一、在Throwable中有Error和Exception两个子类1.Error:系统内部的错误或者资源耗尽(如磁盘内存不足),靠修改程序是不行的。这些我们都不管2.Exception: RuntimeException 运行期异常,我们需要修正代码 非RuntimeException 编译期异常,必须处理的,否则程序编译不通过二、几个关键字1.try...catch:具体用法为...原创 2018-05-06 20:22:30 · 194 阅读 · 0 评论 -
用Jackson实现json与String之间的转换
今天学习了Jackson为了日后使用方便,在这做个笔记其实使用Jackson也很方便: 首先我们导入三个jar包,他们分别是 jackson-core-2.5.3.jar ...原创 2018-09-05 21:15:30 · 16445 阅读 · 0 评论 -
Could not create the view: An unexpected exception was thrown解决办法
今天打开MyEclipse,发现tomcat坏了搜了百度找到了答案:到工作空间下面的D:\Workspaces\.metadata\.plugins\org.eclipse.core.runtime\.settings目录下面找到了名称为com.genuitec.eclipse.ast.deploy.core.prefs文件,删除该文件,重启MyEclipse 问题ok...原创 2018-10-17 21:40:44 · 202 阅读 · 0 评论 -
利用cookie实现自动登录
先来说说思路我们在登录页面需要知道,是否为为第一次登录,判断这个的方法就是获取本地cookie,如果得到的cookie为空(即第一次登录),那么就需要用户手动登录,如果存在,就直接跳转登陆成功的页面。下面送上代码login.jsp<%@ page language="java" contentType="text/html; charset=UTF-8...原创 2018-11-08 08:25:50 · 2071 阅读 · 0 评论 -
maven环境搭建
1.maven是什么简单一句话:maven是用来自动构建 项目开发时所需jar包,自动构建,就意味着你不用再去下载jar包了,maven会把你所需要的jar包给你下载好,怎么样是不是听起来还不错.2.下载maven.它和tomcat一样都是Apache旗下的,我们使用maven,第一步就是去下载maven,点击下面这个链接就可以直接下载也可以自己去maven官网下载http:...原创 2018-11-14 10:35:46 · 286 阅读 · 0 评论 -
java中的类加载器简介
说道java中的类加载器,我们先说说的类的加载,什么是类的加载呢?类的加载当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来进行初始化。加载 将class文件读入内存,并为之创建一个Class对象。 任何类被使用时都会建立一个Class对象连接 验证 是否有正确的内部结构,并和其他类协调一致 ...原创 2019-02-23 18:20:43 · 192 阅读 · 0 评论 -
java反射原来这么简单
反射:在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性。也就是通过class文件对象,去使用该文件中的成员变量,构造方法,成员方法。要想这样使用,首先你必须得到class文件对象,其实也就是得到Class类的对象。获取class文件对象的方式: Reflect01.javapublic class Reflect...原创 2019-02-24 13:21:07 · 224 阅读 · 0 评论 -
深入理解java反射------通过配置文件运行类中的方法
这个小案例帮助了我更深刻的理解了反射,也让我对后面框架原理有了一些新的认识,因此记录再次,希望能让更多的人看到,当然,大佬就直接跳过就好。实体类: Student.javapublic class Student { public void love() { System.out.println("爱生活,爱Java"); }}Teacher.java publ...原创 2019-02-24 16:24:42 · 599 阅读 · 2 评论 -
给整形集合添加字符串元素
我们都知道java在加入泛型之后ArrayList<Integer>的集合是无法添加字符串的,但是我就看到一道面试题,是这样的:我给你ArrayList<Integer>的一个对象,我想在这个集合中添加一个字符串数据,如何实现呢?下面就来说说怎么实现这个先写一段代码:public class ArrayListDemo { public static v...原创 2019-02-24 16:54:39 · 658 阅读 · 0 评论 -
Java设计模式之------模板设计模式
最近在找暑假实习,打算复习一下设计模式,就在这作为一个学习的经历。定义: 模版方法模式就是定义一个算法的模板,而将具体的算法延迟到子类中来实现。举个例子:比如蛋糕店做蛋糕,他们只需要做几个不同的蛋糕模板,然后往里面加入原料就可以做出不同的蛋糕。Java的模版设计模式就采用这种思想,这种做法优点:在定义算法骨架的同时,可以很灵活的实现具体的算法,满足用户灵活多变的需求。缺点:如果...原创 2019-02-26 21:53:23 · 174 阅读 · 0 评论 -
Java如何在main方法中实例化内部类对象
今天我在实例化一个类是编译器报以下错误:No enclosing instance of type Person is accessible. Must qualify the allocation with an enclosing instance of type Person (e.g. x.new A() where x is an instance of Person)....原创 2019-03-11 15:33:42 · 11139 阅读 · 8 评论 -
电面 阿里(web后台)
今天突然就接到了阿里的电话,很是惊讶。开始一分钟,整个人几乎不知道怎么说话,张着嘴不知道怎么说。虽然面试的不是太好,但是人生的第一次面试给了阿里,值了。哈哈1.做一下自我介绍2.介绍一下你做的这些项目3.java中常见的数据结构4.数组,链表的区别5.介绍一下你常用的集合,以及你对他们的理解6.对树了解吗,知道红黑树吗,简单介绍一下常见的树及他们的特点7.进程和线程的区...原创 2019-03-20 23:08:54 · 220 阅读 · 0 评论 -
java中 char 类型的数字转换成 int 型的数字
今天刷编程题遇到了需要将char 类型的数字转换成 int 型的数字 百度一会找到答案public class Tes { public static void main(String[] args) { char a = '9'; char b = '1'; // 直接相加肯定是不行的,所以我们这样来 System.out.println((a - '0') + (b -...原创 2019-03-18 15:40:24 · 853 阅读 · 0 评论 -
java 跳出任意层循环 一层,两层for都可以
public static void main(String[] args) { flag: for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { System.out.println(" i + j =" + (i + j)); if (i == 1) { break...原创 2019-03-18 18:12:27 · 1062 阅读 · 2 评论 -
99%的人不知道小数模1的结果竟然是这个
99%的人不知道小数模1的结果竟然是这个,亲自试验后结果令人大吃一惊原创 2017-12-28 17:31:20 · 2034 阅读 · 6 评论