java
文章平均质量分 53
ziqiiii
念念不忘必有回响;欲速则不达;千里之堤溃于蚁穴
展开
-
图解 | 你管这破玩意叫线程池?
小宇:闪客,我最近看到线程池,被里边乱七八槽的参数给搞晕了,你能不能给我讲讲呀?闪客:没问题,这个我擅长,咱们从一个最简单的情况开始,假设有一段代码,你希望异步执行它,是不是要写出这样的代码?newThread(r).start();小宇:嗯嗯,最简单的写法似乎就是这样呢。闪客:这种写法当然可以完成功能,可是你这样写,老王这样写,老张也这样写,程序中到处都是这样创建线程的方法,能不能写一个统一的工具类让大家调用呢?小宇:可以的,感觉有一个统一的工具类,更优雅一些。闪客..转载 2021-04-21 09:47:36 · 163 阅读 · 0 评论 -
@Slf4j 注解的使用方法
slf4j是一个日志标准,使用它可以完美的桥接到具体的日志框架,必要时可以简便的更换底层的日志框架,而不需要关心具体的日志框架的实现(slf4j-simple、logback等)。slf4j提供了日志接口、获取具体日志对象的方法,常见用法:private static final Logger logger = LoggerFactory.getLogger(LoggerTest.class);logger.debug("debug");logger.info("info");logger.转载 2020-10-28 12:06:53 · 4613 阅读 · 0 评论 -
Java基础(一)
原创 2020-01-06 20:20:41 · 107 阅读 · 0 评论 -
你真的会用Gson吗?Gson使用指南(一)
本文为作者根据日常使用结合Gson源码注释及wiki所作的原创内容,转载请注明出处。本文链接:http://www.jianshu.com/p/e740196225a4JSON (官网) 是一种文本形式的数据交换格式,它比XML更轻量、比二进制容易阅读和编写,调式也更加方便。其重要性不言而喻。解析和生成的方式很多,Java中最常用的类库有:JSON-Java、Gson、Jackson、Fa...转载 2018-11-20 12:22:10 · 109 阅读 · 0 评论 -
Java 实现对Arrays类 自定义 排序sort的2种方法
一、实现Comparable接口(用于类之间的排序): 假设有Employee类,有name和salary字段,需要实现Comparable<T>接口:public class Employee implements Comparable<Employee> { private String name; private double salar...原创 2018-12-06 11:54:28 · 4241 阅读 · 0 评论 -
事务、隔离级别 (MySQL演示)
事务的概念事务的概念来自于两个独立的需求:并发数据库访问,系统错误恢复。一个事务是可以被看作一个单元的一系列SQL语句的集合。事务的特性(ACID) A, atomacity 原子性 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。通常,与某个事务关联的操作具有共同的目标,并且是相互依赖的。如果系统只执行这些操作的一个子集,则可能会破坏事务的总体目标...原创 2019-09-12 14:57:33 · 270 阅读 · 0 评论 -
sharding-jdbc
sharding-jdbc 是一个开源的适用于微服务的分布式数据访问基础类库,它始终以云原生的基础开发套件为目标。sharding-jdbc定位为轻量级java框架,使用客户端直连数据库,以jar包的形式提供服务,未使用中间层,无需额外部署,并无其他依赖,,可以理解为增强版的JDBC驱动sharding-jdbc完整的实现了分库分表/读写分离/分布式主键功能,并实现了柔性事务.分...转载 2019-08-14 15:38:02 · 134 阅读 · 0 评论 -
shardingJDBC按月分表,能否实现动态创建表,然后进行分表?
如题。现在有个任务,一张大表数据上亿,需要按照月份拆分。用shardingJDBC的技术进行分表。这个是log数据,而且会一直增加,也就是说,即使现在你创建了2018年12个月,2019年12个月,等到2020年一月份怎么办?难道要一开始创建好几年的表,然后等过了这些年,再手动创建新表然后上代码改配置吗?全网没有搜到解决方案,到看到一个跟我一样诉求的帖子:if shardi...原创 2019-08-19 20:20:58 · 16472 阅读 · 14 评论 -
将java的console日志写入文件
FileOutputStream bos = new FileOutputStream("output.txt");System.setOut(new PrintStream(bos));System.out.println("output to output.txt");这样,console的输出全部写入文件output.txt,但是控制台不会有输出信息。如果希望控制台也有输出:...转载 2019-08-23 16:24:20 · 1291 阅读 · 0 评论 -
Lombok 看这篇就够了
前提项目代码中能用 Lombok 的都用了,毕竟这么好的轮子要充分利用好。也可以减少一些 get/set/toString 方法的编写,虽说 IDEA 的插件可以自动生成 get/set/toString 方法,但是使用 Lombok 可以让代码更简洁。下面看看如何在 IDEA 中如何安装 Lombok:安装打开 IDEA 的 Settings 面板,并选择 Plugin...转载 2019-08-18 14:01:57 · 249 阅读 · 0 评论 -
关于String s = new String("xyz"); 创建几个对象的问题
你知道在java中除了 8 种基本类型外,其他的都是类对象以及其引用。所以"xyz "在java中它是一个String对象.对于string类对象来说他的对象值是不能修改的,也就是具有不变性。看:啊,s 所引用的 string 对象不是被修改了吗?之前所说的不变性,去那里了啊?你别着急,让我告诉你说发生了什么事情:在 jvm 的工作过程中,会创建一片的...转载 2019-12-28 11:33:43 · 297 阅读 · 0 评论 -
Spring系列三:Bean管理(注解)
注解介绍Spring注解开发准备注解创建对象注解注入属性配置文件和注解混合使用...原创 2019-09-19 14:55:44 · 97 阅读 · 0 评论 -
Java解析和创建JSON
转自:https://segmentfault.com/a/1190000003089746 JSON概述JSON即javascript object notation,是javascript对象表示法的子集。具有以下特点:数据放在键值对中; 数据由逗号分隔; 花括号表示对象; 方括号表示数组。JSON的值可以是:数字(整数或浮点数) 字符串(在双引号中) 逻...转载 2018-09-29 11:13:24 · 222 阅读 · 0 评论 -
两个日期之间相差的月数
在网上看了一下别人的解决方法,直接粗暴的获取日期的月份,相减就给出答案,这不是我想要的,因为这个完全没意义:两个日期跨年了怎么办,如2017-01-02 到2018-12-13相差几个月? 拿 1减去12吗。。 后面自己实现了一下: import org.joda.time.DateTime;import org.springframework.web.bind.annot...原创 2018-09-07 17:45:08 · 2245 阅读 · 0 评论 -
Java泛型:泛型类、泛型接口和泛型方法
转载自:java泛型根据《Java编程思想 (第4版)》中的描述,泛型出现的动机在于:有许多原因促成了泛型的出现,而最引人注意的一个原因,就是为了创建容器类。泛型类容器类应该算得上最具重用性的类库之一。先来看一个没有泛型的情况下的容器类如何定义:public class Container { private String key; private String value; ...转载 2018-03-05 12:27:55 · 153 阅读 · 0 评论 -
java 异常捕捉 ( try catch finally )
转载自: java 异常捕捉 ( try catch finally ) 你真的掌握了吗?前言:java 中的异常处理机制你真的理解了吗?掌握了吗?catch 体里遇到 return 是怎么处理? finally 体遇到 return 怎么办?finally 体里有 System.exit() 方法怎么处理?当 catch 和 finally 体里同时遇上 return 怎么办?相信你在处理异常的...转载 2018-03-05 16:36:15 · 143 阅读 · 0 评论 -
Java中Calendar类tips
1. 使用Java中Calendar类获取月份,返回的月份会比当前月份小1。 这是因为月份是从0开始算的,最小月为0,最大月份为11 。请看如下示例:import java.util.Calendar;import java.util.Date;public class TestCalendar { public static void main(String[] args) {...原创 2018-03-28 15:34:02 · 116 阅读 · 0 评论 -
ExecutorService 的理解与使用
接口 java.util.concurrent.ExecutorService 表述了异步执行的机制,并且可以让任务在后台执行。一个 ExecutorService 实例因此特别像一个线程池。事实上,在 java.util.concurrent 包中的 ExecutorService 的实现就是一个线程池的实现。ExecutorService 样例这里有个简单的使用Java 实现的 Exector...转载 2018-03-29 13:34:29 · 270 阅读 · 0 评论 -
Java字符集编码问题 URLConnection
字符集问题,用URLConnection来开启http访问获取数据的问题,数据是GBK编码,获取下来成了乱码。原方法:(注释掉的是将数据进行文件存储)public void download(String URLString) { FileOutputStream out = null; InputStream in = null; try{ ...原创 2018-04-18 11:30:58 · 1619 阅读 · 0 评论 -
Spring Boot配置多个DataSource
转自:Spring Boot配置多个DataSource使用Spring Boot时,默认情况下,配置DataSource非常容易。Spring Boot会自动为我们配置好一个DataSource。如果在application.yml中指定了spring.datasource的相关配置,Spring Boot就会使用该配置创建一个DataSource。如果在application.yml中没有指定...转载 2018-04-23 12:28:45 · 447 阅读 · 0 评论 -
在spring中常被忽视的注解 @Primary
转自:在spring中常被忽视的注解 @Primary在spring 中使用注解,常使用@Autowired, 默认是根据类型Type来自动注入的。但有些特殊情况,对同一个接口,可能会有几种不同的实现类,而默认只会采取其中一种的情况下 @Primary 的作用就出来了。下面是个简单的使用例子。有如下一个接口public interface Singer { String sing(Str...转载 2018-04-23 12:33:01 · 655 阅读 · 0 评论 -
java 面向对象三大特性(封装,继承,多态)以及抽象、接口
转载自:http://blog.csdn.net/qq_22118507/article/details/51422591封装:1.定义:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。2.封装的目的是:增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过外部接口,一特定的访问权限来使用类的成员。3.封装的基本要求是:把所有的属性私有化,对每个属性提供g...转载 2018-05-01 23:40:19 · 133 阅读 · 0 评论 -
Hibernate Hql查询语句总结
hqlHibernate中使用Query方法进行hql语句进行数据库查询hql语法跟sql语法类似,学起来很容易下面结合例子进行演示案例说明表一Commodity| Id | name | price | unit | category | description | seller || 1 | 中式童装 | 120.00 | 套...转载 2018-04-21 16:28:31 · 403 阅读 · 0 评论 -
Java中equal和==的区别
java中,字符串的equals用来判断值是否相等;==用来判断字符串地址是否为同一个。 public static void main(String[] args) { String a="1234"; String b="1234"; String c = new String("1234"); System.out.prin...原创 2018-05-03 15:05:33 · 680 阅读 · 0 评论 -
Java Map集合的详解
参考自:Java Map集合的详解 (略有修改)一,Map如果程序中存储了几百万个学生,而且经常需要使用学号来搜索某个学生,那么这个需求有效的数据结构就是Map。Map是一种依照键(key)存储元素的容器,键(key)很像下标,在List中下标是整数。在Map中键(key)可以使任意类型的对象。Map中不能有重复的键(Key),每个键(key)都有一个对应的值(value)。一个键(key)和它对...转载 2018-05-03 11:18:09 · 226 阅读 · 0 评论 -
java 判断两个时间相差的天数
转自:java 判断两个时间相差的天数1、实现目标 输入:两个日期 输出:两个日期相差的天数2、代码实现方法1: 通过Calendar类的日期比较。注意:这里需要考虑一下: 日期是跨年份的,如一个是2012年,一个是2015年的 年份是分闰年和平年的,各自的天数不同/** * date2比date1多的天数 * @param date1 ...转载 2018-04-26 17:07:16 · 2223 阅读 · 0 评论 -
Java 判断一个字符串是否为合法日期
判断字符串像“2018-02-30”这样的日期是不是正确合理的日期 //假设传入的日期格式是yyyy-MM-dd HH:mm:ss, 也可以传入yyyy-MM-dd,如2018-1-1或者2018-01-01格式 public static boolean isValidDate(String strDate) { SimpleDateFormat format =...原创 2018-03-09 17:32:20 · 24277 阅读 · 6 评论