Java
文章平均质量分 68
liutaiyi8
这个作者很懒,什么都没留下…
展开
-
一文了解RoaringBitmap
大量数据检索问题10亿数据存储检索数据检索问题:给定一个长度为10 的int数组,例如:{1,2,3,4,5,6,7,8,9,10} 查找数字“9” 是否存在给定数组中。对于这样的问题直接进行数组遍历或者二分查找很容易就找到对应数字是否存在,但这是数据量很少的情况。计算一下数组占用存储空间:10个int数字4字节=40字节。同样的问题数组长度换成10亿int数组,占用空间10亿4字节=40亿字节=4000000000/1024/1024/1024=3.73GB,这样的空间占用内存无法支持只能存盘进行原创 2022-05-18 19:06:55 · 1303 阅读 · 0 评论 -
trim()或replace()不掉的空格是什么
背景:在开发过程中,偶尔会出现程序错误的情况,然后发现是因为在对url进行校验的时候url错误。查看url发现是因为url最后包含了一个空格,但是在最开始的时候已经对url进行前后空格的去除了,为什么还会出现这样的情况呢。不同的空格是什么?trim()还有replace()都不能替换掉的空格,这应该就不是一个空格吧,所以先把正常空格和这个“空格”的ascii码打印出来先看一下。打印出来是这样:结果:普通空格ascii就是32 那这个160是什么?借鉴博客:https://blog.csd原创 2021-11-05 11:57:45 · 919 阅读 · 0 评论 -
@Transactional 注解使用
一 功能1 做什么为了保证数据一致性、在异常情况下进行全部操作回滚,注解声明式事务管理,特别是基于注解的声明式事务管理,简单易用。2 原理声明式事务管理建立在AOP之上的。其本质是对方法前后进行拦截,然后在目标方法开始之前创建或者加入一个事务,在执行完目标方法之后根据执行情况提交或者回滚事务。声明式事务最大的优点就是不需要通过编程的方式管理事务,这样就不需要在业务逻辑代码中掺杂事务管理的代码,只需在配置文件中做相关的事务规则声明(或通过基于@Transactional注解的方式),便可以将事务规则应原创 2021-10-26 16:27:32 · 205 阅读 · 0 评论 -
java对象赋值、深拷贝与浅拷贝
Java 应用当中将一个对象的值给到一个新的对象可以通过直接赋值和拷贝的方式进行,但两种方式我们应该清除他们之间的区别;直接赋值(引用赋值)定义一个对象public class User { private String name; private Integer age; private String sex;}给新对象赋值并修改新对象: public static void main(String[] args){ User user1 = n原创 2020-10-09 17:46:43 · 6794 阅读 · 4 评论 -
Mybatis中resultMap与resultType的区别
在使用mybatis进行数据库查询的时候,涉及到查询出来的数据的映射返回,这样的映射返回就有两种方式可以实现。一是:使用resultMap,二是:resultType两者的区别是:使用reusltType是将查询出来的数据传给具体的自己定义的对象,赋值给对应的字段属性resultMap一般是在mapper.xml文件里面自行定义的map。进行具体的映射。...原创 2020-03-17 20:20:47 · 292 阅读 · 0 评论 -
Mybatis的 #{}与${}区别
在mybatis查询时,参数传递方式可以是#{}或者是$ {}。两者的区别是:一, #{}传参时会将传入参数当成是一个字符串,为这个字符串加上引号。而$ {}则不会加引号 例:select * from user where name = #{name} //如果传的name是"小明"对应的sql执行的语句就是select * from user where name = "小明"...原创 2020-03-10 19:52:41 · 189 阅读 · 0 评论 -
List.add()方法使用时被覆盖
代码如下:public class AddExecption {public static void main(String[] args){ List<String> list = new ArrayList<>(); String aa = new String(); User user = new User(); List&...原创 2019-10-30 11:10:23 · 1321 阅读 · 0 评论 -
方差和标准差
方差方差用来衡量一段数据的离散程度,再概率论和统计学中有不同的定义,概率论:概率论中方差用来度量随机变量和其数学期望(即均值)之间的偏离程度统计学:统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数方差计算公式:标准差标准差计算公式:...原创 2019-10-21 20:56:25 · 676 阅读 · 0 评论 -
Java 基础知识(3)(抽象类/IO/异常)
1 抽象类抽象: 实际存在的,具体的现实生活中的事务叫做对象,而抽象就是将他们的共有信息提取出来做一个描述。比如说:“猫” 是一个对象,具体存在。“ 动物”,”宠物“等等就是猫可以抽象出来的东西,而抽象出来的东西又可以代表一个部分,你可以理解抽象出来的东西,但是不能用来具体对应上现实存在的事物。1.1抽象类与普通类(1) 抽象不是具体的概念,抽象类不能被实例化,而普通类可以进行实例化调用。...原创 2019-09-28 21:10:42 · 141 阅读 · 0 评论 -
Java基础知识(2)(hashcode/final/round/String)
1 hashCode()和equals()euqals()和hashCode()是Obiect类的两个方法,Object类是所有类的父类,所有的对象都实现了Object()类中的方法。1.1 equals()Object的原生equals()方法定义是:public boolean equals(Object obj){ return (this == obj)}就是对对象的地址值...原创 2019-09-23 22:01:16 · 160 阅读 · 0 评论 -
Java基础问题(1)(jdk/jre/equals)
1.JDK和JRE1.1 JDK(Java development kit)Java开发工具包,面向开发人员使用的SDK(software development kit)包括库函数,编译程序等,JDK包含JRE,JRE包含JVM。1.1 JRE(Java runtime environment)Java运行环境,在JDK的安装目录里你可以找到jre目录,里面有两个文件夹bin和lib,在这里...原创 2019-09-20 11:49:35 · 95 阅读 · 0 评论 -
Java的instanceof用法
instanceof的作用是判断左面的对象是否是右面类的实例1.instanceof是一个双目运算符,该运算符与“==”,“>”等类似,该运算符左面是一个实例化的对象,右面是类。2.当左面的对象是右面类创建的对象时,既是左面的对象是右面类的实例,返回true,否则返回false。示例:Animal类:public class Animal {public String weigh...原创 2019-09-12 11:00:41 · 433 阅读 · 0 评论 -
Java多线程实现-implement Runnable和extend Thread
Java实现线程的方法有两种分别是:/*** @author LiuTaiyi* @description implements Runnable* @date 2019/8/22*/ public class testThread implements Runnable { @Override public void run() { System.out.printl...原创 2019-08-22 16:51:59 · 877 阅读 · 0 评论 -
java自增自减运算a++/++a
1、自增(++)自减(–)运算符是一种特殊的算术运算符,在算术运算符中需要两个操作数来进行运算,而自增自减运算符是一个操作数。public class selfAddMinus{public static void main(String[] args){ int a = 5;//定义一个变量; int b = ++a;//自增运算 int c = 5; in...原创 2018-07-31 11:18:56 · 5198 阅读 · 0 评论 -
创建第一个springboot项目
由于Spring存在一些不足: 例如使用Spring门槛较高,不易入门, 对果过时技术的兼容,导致使用复杂度升高, XML配置已经不是流行的系统配置方式, 集成第三方工具时,程序员还要考虑工具之间的兼容性, 系统启动慢,不具备热部署功能,完全依赖于虚拟机和web服务器的热部署。因此推出了基于spring技术的Spring Boot解决这些问题: Spring Boot简化了Spri...原创 2018-08-07 10:45:26 · 174 阅读 · 0 评论 -
Maven与pom.xml
Maven用来简化项目构建,采用不同的方式对项目构建进行抽象。 例如:源文件放在src/main/java下 配置文件放在src/main/resouces 编译好的文件放在target文件目录下。Maven主要实现以下目标: 1,使项目构建变得容易。 2,同意项目构建方式。 3,提出一套项目开发实践。 4,包含不同环境项目的构建方式。 5,解决类库的依赖问题。pom.xm...原创 2018-08-07 11:29:44 · 187 阅读 · 0 评论 -
查找附近的人-geohash使用方法
geohash已有java的封装:1,导入geohash的jar包<dependency> <groupId>ch.hsr</groupId> <artifactId>geohash</artifactId> <version>1.3.0</version></dependency&原创 2018-11-26 10:36:01 · 1854 阅读 · 0 评论 -
计算程序运行时间Java
计算程序运行时间方法;1,在开始程序之前获取 starttime2,运行程序3,获取运行结束以后的时间 endtime4,运行时间 = 结束时间(starttime) - 开始时间(endtime)代码实现:毫秒形式:long startTime = System.currentTimeMillis(); //获取开始时间doSomething(); //测...原创 2019-04-14 21:43:27 · 742 阅读 · 0 评论 -
IDEA去除版本控制
file–>setting–>version Controller原创 2019-08-01 15:48:15 · 1399 阅读 · 0 评论 -
spring boot 整合swagger2
**swagger **:在线接口管理工具,服务端将接口展示在swagger上面,方便前端人员对接开发。本文针对其好处,记录如何在spring boot项目里面将swagger2 整合。1,pom依赖:在pom中导入如下依赖 <dependency> <groupId>io.springfox</groupId> <artifactId&g...原创 2019-08-01 20:35:47 · 135 阅读 · 0 评论 -
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
今天在写接口的时候报这个错,一直没有解决说一下争对这个错误有什么解决方法:一般的原因是:Mapper 接口定义和mapper.xml文件的定义对应不上,这是一般只要去检查"包名","namespace"要是mapper接口的地址,函数名能否对应上但是。。。。。。我的错都不是这些,然后发现我的mapper.xml文件没有后缀 ”.xml“???...原创 2019-08-19 15:16:18 · 126 阅读 · 0 评论 -
Spring Boot简单介绍
一,什么是Spring Boot? 传统开发,spring在整合其他框架的时候,会有大量的配置要去做,比如整合一个Freemarker,web.xml里要配置它的过滤器,springmvc.xml里要配置它的视图解析器,这对于初学者马上上手写代码效率是很低的,要花一定时间去配置这些东西,所以springboot就产生了,它是一个习惯优于约定的框架,什么意思?约定就是传统的配置,而习惯就是...转载 2018-07-23 21:40:37 · 230 阅读 · 0 评论