自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

转载 svn错误:更新源码出现校验和不匹配问题

1.进入出现问题的文件所在的目录2.执行命令svn update --set-depth empty3.执行命令svn update --set-depth infinity百度了一圈,这个试过有效

2020-11-24 13:39:28 424

原创 linux上安装ngnix

1.下载ngnixnginx下载地址:https://nginx.org/download/当前最新版本是nginx-1.9.9.tar.gz,下载后移动到/usr/local目录上2.其他环境准备:安装nginx需要确认系统中安装了gcc、pcre-devel、zlib-devel、openssl-devel。Linux下检查是否安装过某软件包:http://www.cnbl...

2020-03-17 10:37:12 164

原创 LeetCode(每周一题)——461. 汉明距离

题目地址为:https://leetcode-cn.com/problems/hamming-distance/submissions/两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数x和y,计算它们之间的汉明距离。输入: x = 1, y = 4输出: 2解题: 这道题主要用到两个结论1.异或操作:两位不同得1,相同得0;2....

2020-02-27 11:00:46 131

原创 LeetCode(每周一题)——1342. 将数字变成 0 的操作次数

题目地址为:https://leetcode-cn.com/problems/number-of-steps-to-reduce-a-number-to-zero/给你一个非负整数num,请你返回将它变成 0 所需要的步数。 如果当前数字是偶数,你需要把它除以 2 ;否则,减去 1 。理解题意之后,一个简单的while循环就能搞定。 public int numberOfStep...

2020-02-27 10:40:58 141

原创 LeetCode(每周一题)——70. 爬楼梯

题目地址为:https://leetcode-cn.com/problems/climbing-stairs/假设你正在爬楼梯。需要 n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶解题:...

2019-11-16 14:06:13 97

原创 LeetCode(每周一题)——53. 最大子序和

题目地址为:https://leetcode-cn.com/problems/maximum-subarray/给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。解题:1.暴力解法暴力解...

2019-11-16 13:52:00 145

原创 LeetCode(每周一题)——35. 搜索插入位置

题目地址为:https://leetcode-cn.com/problems/search-insert-position/给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。示例 :输入: [1,3,5,6], 5 输出: 2输入: [1,3,5,6], 2 输出: 1...

2019-11-03 14:03:18 96

原创 JDK源码解读————AbstractList(抽象类)

public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E> {从类的声明可以看到,AbstractList其实是List接口的简单实现,提供了一些方法的具体实现,如果要自己创建一个LIST,就可以继承这个抽象类,能少写很多代码。1.属性...

2019-10-18 13:41:39 163

原创 float和double的范围到底是多少

Java中float占4个字节,32bit。计算范围公式为 ((-1)^S)* (2^(E-127))*(1.M) ,其中S占一位是符号位,E所占8bit是指数位,M占23位是尾数位。这里一开始(1.M)部分一开始我一直没想明白为什么前面是1,突然有一天脑子开窍了,科学计数法表示的时候小数点前面就必须是1,所以规格化的时候小数点前面是1。E占8位,所以大小是0-255,但是为了表示小数,指...

2019-09-30 14:10:30 2273

原创 Double数值取整的问题

最近在写Java代码时,要把一个Double型的数值处理成百分比的形式,且保留两位小数。因为用的是jdk1.8,BigDecimal类的api提供了一个方法setScaleString value = "0.336600000000004";BigDecimal b = new BigDecimal(value.toString());String content = b.setS...

2019-09-30 13:54:45 9746 1

原创 JDK源码解读————ListIterator(接口)

ListIterator继承Iterator接口,是专门给列表使用的迭代器的接口继承的方法 boolean hasNext(); E next(); void remove();注意Iterator有一个default的方法forEachRemaining(Consumer<? super E> action),这个default关键词是1.8才有的,作用是为了在接口...

2019-09-19 11:03:17 118

原创 JDK源码解读————List(接口)

List接口继承了Collection接口,是列表这一类型的基础接口继承父类的方法int size();boolean isEmpty();boolean contains(Object o);Iterator<E> iterator();Object[] toArray();<T> T[] toArray(T[] a);boolean add(E e...

2019-09-18 18:00:39 104

原创 JDK源码解读————Iterator(接口)

上一篇的Iterable实现了一个Iterator对象,这个接口的子类就是实际的迭代器。1.hasNext() 判断是否还有元素boolean hasNext();2.next() 返回下一个元素E next();3.remove()default void remove() { throw new UnsupportedOperationException(...

2019-09-18 17:24:30 102

原创 JDK源码解读————Iterable(接口)

因为Collection接口继承了Iterable接口,所以过一下这个类。1.返回迭代器Iterator<T> iterator();2. 循环default void forEach(Consumer<? super T> action) { Objects.requireNonNull(action); for (T t : this...

2019-09-18 16:04:45 114

原创 JDK源码解读————AbstractCollection(抽象类)

AbstractCollection注释的最上方,就说这是Collection基本的实现。构造器方法 protected AbstractCollection() {}抽象方法 public abstract Iterator<E> iterator(); public abstract int size();这里为什么这两个方法要定义成抽象的呢?其实原因很...

2019-09-18 10:37:52 135

原创 JDK源码解读————Collection(接口)

Collection接口是对存储数据的容器的抽象,里面定义的方法其实就是容器应该具有的功能。1. 新增、删除、清空boolean add(E e);boolean addAll(Collection<? extends E> c);boolean remove(Object o);boolean removeAll(Collection<?> c);...

2019-09-17 17:02:42 118

原创 ArangoDb学习笔记————High-level operations(三)

REMOVE:REMOVE keyExpression IN collection options简单的删除没什么好说,就是keyExpression里面需要有删除元素的_key属性。删除的时候可以还加上OPTIONS关键字//忽略报错FOR i IN 1..1000 REMOVE { _key: CONCAT('test', i) } IN users OPTIONS...

2019-08-29 14:22:21 401

原创 ArangoDb学习笔记————High-level operations(二)

COLLECT:这个关键词类似于Oracle的group by,用法比较多。COLLECT variableName = expressionCOLLECT variableName = expression INTO groupsVariableCOLLECT variableName = expression INTO groupsVariable = projectionExp...

2019-08-29 13:47:35 386

原创 ArangoDb学习笔记————High-level operations(一)

FOR:for关键词用来迭代一个数组,主要用法如下FOR variableName IN expressionFOR vertexVariableName, edgeVariableName, pathVariableName IN traversalExpressionFOR variableName IN viewName SEARCH searchExpressionF...

2019-08-27 19:35:09 404

原创 ArangoDb学习笔记————Opeartors(运算符)

比较运算符==, !=,> ,>=, <, <= 常用的就不用说什么了in,not in 可以用来判断一个元素是否在一个数组里=~,!~ 可以用来判断一个字符串是否匹配一个正则表达式like 模糊匹配,_表示一位,%表示多位数组比较运算符数组在比较时,可以加上ALL,ANY,NONE前缀逻辑运算符&& and 与...

2019-08-27 10:00:40 198

原创 ArangoDb学习笔记————AQL Fundamentals(查询结果三)

AQL Fundamentals里剩下的小节,内容不多,大致如下:查询时,对于document里没有的属性会被默认对待为NULL;AQL返回的结果是一个数组,如果匹配不到数据时返回的是个空数组;对于查询语句解析和之后的流程里报错,会返回具体的code和错误信息;AQL还支持参数绑定,使用@标识符,具体的等后续使用时再深入。...

2019-08-27 09:34:16 553

原创 ArangoDb学习笔记————AQL Fundamentals(数据类型二)

AQL支持6种数据类型:null,boolean,number,string,array/list,object。nullnull用来表示值为空或者属性不存在,跟数字0、false、空字符串、空数组、空对象都不一样,相当于其他语言里面的NIL或者NONE。boolean两个值:true和falsenumber包括整数和浮点数,+-号可选,小数点.用来分割整数和小数部分,同时...

2019-08-26 15:46:38 255

原创 ArangoDb学习笔记————AQL Fundamentals(基本语法一)

查询结果类型:AQL 查询要么返回一个结果(return关键字),要么执行一次数据更新操作(INSERT,UPDATE,REPLACE,REMOVEorUPSERT)。AQL解析器如果检测到在一次查询里有超过一次的数据更新操作,或者无法解析时会报错。AQL只支持单次查询。空格:可以用空格来使查询语句更加美观,如果需要在变量或者字符串中保留空格,需要用引号包起来。注释:...

2019-08-26 15:27:05 534

原创 ArangoDb学习笔记————AQL tutorial(五)

终于来到了AQL tutorial的最后一小节,地理坐标查询。按照文档里所建的Location集合为例,首先需要建一个geo索引,来表明是哪一列包含了经纬度。最后讲一下里面的几个语法:FOR loc IN NEAR(Locations, 53.35, -6.26, 3) RETURN { name: loc.name, latitude: lo...

2019-08-26 10:26:13 226

原创 ArangoDb学习笔记————AQL tutorial(四)

接下来讲的是AQL tutorial比较有深度的一节:图的遍历。文档里指导建了一个EDGE类型的ChildOf来表示Charaters的关系。看一下ChildOf里面的数据,跟之前的不同之处在于多了_from和_to两个属性,而且值是跟Charaters的_id属性对应的。FOR v IN 1..1 OUTBOUND "Characters/1741" ChildOf RET...

2019-08-26 10:12:57 658

原创 ArangoDb学习笔记————AQL tutorial(三)

Oracle里面还经常用到的就是表与表之间的组合查询,arangoDb在讲解这里的用法的时候,新增了一个Traits,来关连Charaters的traits属性。FOR c IN Characters RETURN DOCUMENT("Traits", c.traits)FOR c IN Characters RETURN DOCUMENT("Traits", c.tra...

2019-08-23 17:37:14 420

原创 ArangoDb学习笔记————AQL tutorial(二)

上一篇介绍了增删改查的最简单的语法,接下来稍微进阶一点。oracle查记录的时候,经常会加一些限制条件,arangodb也有FILTER关键词支持类似的操作。FOR c IN Characters FILTER c.name == "Ned" RETURN cFOR c IN Characters FILTER c.age >= 13 RETUR...

2019-08-23 17:14:05 421

原创 ArangoDb学习笔记————AQL tutorial(一)

最近做一个项目要用到ArangoDb,一搜发现连中文文档都没有,所以一边看官网上英文文档,一边做下总结。首先对几个关键词要有个大概的了解:AQL:arangodb query language,arangodb的查询语言,可与类似于SQL。Collections:有Docunment和Edge两种类型,这个可以类似于Oracle上的表,AQL不能操作CollectionsDocum...

2019-08-23 16:57:50 1502

原创 DBUtils源码解析(三)--QueryRunner类query

DBUtils没有提供专门的delete方法,最后就来看看核心的query方法private <T> T query(Connection conn, boolean closeConn, String sql, ResultSetHandler<T> rsh, Object... params) throws SQLException { ...

2019-08-08 19:03:57 687

原创 DBUtils源码解析(二)--QueryRunner类insert

上一篇看完了update,接下来继续看insert,按照正常的理解,其实insert操作用update的那一套应该就可以了。为什么要额外提供一套API呢?跟update一样,找到核心的private-insert方法。private <T> T insert(Connection conn, boolean closeConn, String sql, ResultSetHand...

2019-08-08 18:15:52 1203

原创 DBUtils源码解析(一)--QueryRunner类update

今天开始来看看dbutils的源码,看介绍dbutils主要的两个类是QueryRunner和ResultSetHandler,看名字大概就能知道两个类的作用了,一个是负责执行sql,一个是负责处理结果。先来看QueryRunner类的实现。一般数据库的操作就是增删改查,执行存储过程以及批量执行SQL。看QueryRunner的API就能发现,这么操作都提供了对应的执行方法。因为查询(quer...

2019-08-02 10:34:20 651

原创 MyBatis源码解析(三):settings属性解析

接下来研究一下settings的解析过程。 Properties settings = settingsAsProperties(root.evalNode("settings")); loadCustomVfs(settings); loadCustomLogImpl(settings); settingsElement(settings);主要跟set...

2019-06-20 18:36:02 159

原创 Spring Boot 学习笔记——环境搭建

环境要求 (idea + jdk1.8)1.创建maven工程首先创建一个maven工程HelloWorld,得到的工程目录如下:2.修改pom文件,增加依赖引入springboot的依赖,因为是创建一个web工程,也要引入相关依赖<parent> <groupId>org.springframework.boot</groupId&...

2019-06-19 19:37:31 96

原创 MyBatis源码解析(二):配置文件解析

上一文中提到的两种方式,其实都是最终得到了Configuration对象,正好可以对应上官方文档上的Configuration XML小节。这也大概就是Configuration的结构,我们先接着上一篇的代码往下看, public Configuration parse() { if (parsed) { throw new BuilderException("E...

2019-06-19 09:37:02 95

原创 MyBatis源码解析(一):入口函数解析

打算一般看MYBATIS官方文档,一边看源码,提升一下自己的编程水平。1.文件解析要在项目中使用Mybatis,第一步就是根据配置文件构建SqlSessionFactory了,官网上给出的示例如下:String resource = "org/mybatis/example/mybatis-config.xml";InputStream inputStream = Resource...

2019-06-13 19:17:08 690

原创 写自己的定时任务TimeTask(一)

TimerTask和Timer类用于设置定时任务,实质上用的是Thread,为了加深理解,所以打算自己写一个。定时任务:其实理解起来,就是一个线程一直在阻塞着(wait),然后当设置的时间到了,notify一下,执行这个阻塞的线程。按照这个思路,来写一个最简单的定时任务。public class MyTimerTask implements Runnable{ private O...

2019-05-14 16:22:45 1063

原创 Thread.currentThread 和 this的区别

在自学Thread的时候,遇到一个疑惑。代码如下:public class CurrentThreadExt extends Thread{ public CurrentThreadExt(){ System.out.println("CurrentThreadExt --------- begin"); System.out.println("T...

2019-04-25 12:07:25 207

原创 Path和ClassPath的区别

Path : windows系统执行exe文件等可执行文件时,寻找exe文件的路径ClassPath :Java虚拟机执行class文件时,查找class文件的路径javac命令把java文件编译为class文件 -sourcepath 源文件目录 -classpath class文件路径 -d 编译后文件目录例子 :jav...

2019-04-12 17:33:29 234

原创 Mybatis环境搭建(一)

    最近工作上引入Mybatis框架,所以自己本地也搭建个Mybatis环境好学习学习。    1.开发环境准备        Intellij idea 15.0.2        jdk1.6.0_21       oracle11g       参考资料:《Mybatis从入门到精通》-刘增辉    2. 搭建环境        idea上新建一个maven工程,得到如下目录结构:   ...

2018-04-15 16:29:48 135

原创 Servlet学习笔记(二)

毕竟是为了学习Servlet,所以上一篇新建了一个javaWeb应用,现在开始写我的第一个Servlet.1.引入jar包参考《JSP&Servlet学习笔记》第二章,编写HelloServlet,先不管三七二十一,直接按照书上内容把HelloServlet完全Copy下来。如下所示:很明显一堆类找不到,说明servlet相关...

2018-04-06 15:29:58 208

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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