自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java中对浮点数的处理(BigDecimal)

BigDecimal 的用处《阿里巴巴Java开发手册》中提到:浮点数之间的等值判断,基本数据类型不能用==来比较,包装数据类型不能用 equals 来判断。 具体原理和浮点数的编码方式有关,这里就不多提了,我们下面直接上实例:float a = 1.0f - 0.9f;float b = 0.9f - 0.8f;System.out.println(a);// 0.100000024S...

2019-07-17 14:19:42 1222 3

转载 IDEA 无法自动装配Mapper ,运行报错。Eclipse 正常运行

解决方法:在pom.xml文件里面加入如下代码<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources>&l

2020-11-26 17:12:46 605

转载 异常学习一下

https://www.cnblogs.com/zhangzongle/p/5425843.html

2020-07-28 16:26:45 177

原创 定时执行linux自动备份数据库文件到另一个服务器上

1.假设服务器A是一台数据库服务器,服务器B是一台备份服务器2.我们要做的是在A服务器上编写back.sh脚本,通过back.sh脚本文件备份A服务器上的mysql文件3.接下来我们要在A服务器上编写push.sh脚本,将备份好的mysql文件传输给B服务器指定目录下4.给back.sh脚本和push.sh脚本添加定时调度back#!/bin/bash#设置mysql的备份保存目录folder=/back-up/mysql-back-uprm -rf /back-up/mysql-ba.

2020-07-15 11:46:26 1404 1

转载 mybatis if的各种用法

https://www.cnblogs.com/guxiao/articles/12570393.html

2020-06-16 15:35:19 820

转载 String,toString,和valueof的区别

今天在使用这个的时候发现,他们三者好像在某些场所都是可以用的,但是不免会让人想到那既然它们三者这么的相似,那么总有些什么区别吧。我也在网上找了一些资料看。自己也看了API文档,就将他们三的区别总结一下吧。用了这么长时间,才发现有这些的不同,也是挺惭愧的。  先说他们三的作用是什么吧:没什么特别的作用,就是让我们得到的对象或参数类型,按照要求转成字符串的形式。String:毫无疑问,这种就是强转形式,简单方便,效率高。java程序员可能看到效率高或许有些激动,但是它有他的不好,那就是局限性。在java的世

2020-06-11 09:24:16 596

转载 mysql数字格式化千分号的问题,即每三位一个逗号

当需要格式话数字时,通常有如下两种中做法:1、SELECT FORMAT(100000.7777,2);结果:2、SELECT CONVERT(10000.7777,decimal(12,2))结果:但从程序开发角度来看应该使用第二种,因为第一种表示法中有逗号,很可能在在进行数据转换的时候出现错误。转载于:https://my.oschina.net/u/3295928/blog/1808881...

2020-06-01 10:32:58 2363

原创 自己总结的linux常用命令

安装jdk解压 jdk-8u171-linux-x64.tar.gz 安装包tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local/java配置环境变量 vim /etc/profileexport JAVA_HOME=/usr/local/java/jdk1.8.0_161export JRE_HOME=${JAVA_HOME}/jre...

2020-04-20 10:18:58 127

原创 List去重复(多个字段)TreeSet实现

package com.company;import java.util.TreeSet;/**@author cel@describe@date 2020/3/18 14:09*/public class User implements Comparable{private Integer id;private String name;private Intege...

2020-03-27 14:09:59 452

原创 自己总结的Linux开机自动执行脚本

服务器频繁重启,有些服务总要重新连接linux再启动设置linux开机自启动,一劳永逸的解决问题shell下面写命令即可(自启动redis,tomcat等)tomcat要导入java包chmod +x test.shchkconfig --add test.shchkconfig test.sh on...

2020-03-27 08:26:10 264

转载 几种排序的总结

1 直接插入排序:比较次数 最少n-1次;最多(n-1)(n+2)/2移动次数 最少0; 最多(n-1)(n+4)/2使用一个辅助存储空间,是稳定的排序;2 折半插入排序:比较次数 最少与最多同,都是n*log2n(其中2为底,下边表示同),移动次数 最少0,最多时间复杂度为O(n2);(n的平方,以下也如此表示);使用一个辅助存储空间,是稳定的排序;3 冒泡排序: 比较最少为:n-1...

2020-03-19 17:25:18 2167 1

原创 堆排序学习总结

堆排序可以在前k趟就能确认数组的第K大或第k小元素。堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序。首先我们来了解下什么是堆。堆排序基本原理堆分为两种:大顶堆和小顶堆,两者的差别主要在于排序方式。堆是具有以下性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆。如下图:堆排序的基本思...

2020-03-19 17:15:42 390

原创 SpringCloud小知识

简单说就是我们启动的服务,读取我们的配置的信息,如果配置了注册中心地址,我们的服务就会向注册中心,注册我们启动的服务,其他服务要已用我们的这个启动的微服务,会到注册中心去找,注册中心相当于中介的角色,模块做高度的抽象,各个模块都进行了分离,互不影响,单独起一个站点微服务,统一掉各个微服务,给web端提供接口...

2020-03-18 17:09:49 93

原创 leetcode148排序链表(归并排序)

排序链表题意:在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。根据题意在结合链表的特殊情况,我们可以使用归并排序就可以满足题意要求。归并排序虽然是效率O(nlogn),空间复杂度O(n)但针对于链表的情形下不需要开创一个辅助空间,是可以满足题意要求的O(1)空间复杂度关于归并排序的一般形式代码如下: public void Merge(int[] arrs,...

2020-03-18 12:30:15 86

原创 查询数据库中的中文数据

SELECT *FROM tableWHERE LENGTH(user_name) != CHAR_LENGTH(user_name)

2020-02-27 16:57:30 1092

原创 SpringMvc运行原理

原理:1.客户端请求提交到DispatcherServlet;2.由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller;3.DispatcherServlet将请求提交到Controller;4.Controller调用业务逻辑处理后,返回ModelAndView;5.DispatcherServlet查询一个或多个V...

2019-10-06 20:02:36 222

原创 leetcode419甲板上的战舰

leetcode419甲板上的战舰class Solution { public static int countBattleships(char[][] board) { int i,j; int boardRowSize = board.length; int boardColSize = board[0].length; ...

2019-08-29 14:57:42 125

原创 leetcode Pow(x,n)

快速幂class Solution { public static double myPow(double x, int n) { long N = n; if(N<0){ N = -N; x = 1.0D/x; } double ans = 1d; w...

2019-08-28 17:32:13 125

原创 leetcode字符串相乘

字符串转为数字处理 效率更高(学习一下)转为int数组再转为字符串class Solution { public String multiply(String num1, String num2) { int m = num1.length(); int n = num2.length(); int[] pos = new int[...

2019-08-28 17:06:29 197

原创 List去重复(多个字段)

List去重复 ,我们首先想到的可能是 利用List转Set 集合,因为Set集合不允许重复。 所以达到这个目的。 如果集合里面是简单对象,例如Integer、String等等,这种可以使用这样的方式去重复。但是如果是复杂对象,即我们自己封装的对象。用List转Set 却达不到去重复的目的。 所以,回归根本。 判断Object对象是否一样,我们用的是其equals方法。 所以我们只需要重写e...

2019-08-27 15:44:51 1253 2

原创 leetcode560 和为k的子数组

和为k的子数组思路:累计和+hashclass Solution { public int subarraySum(int[] nums, int k) { Map<Integer, Integer> map = new HashMap<>(); map.put(0, 1); int sum = 0, ret ...

2019-08-14 17:45:39 73

原创 leetcode283移动零

class Solution { public static void moveZeroes(int[] nums) { if(nums.length==1){ return; } for(int i = 0,cnt = 0;i<nums.length;i++){ if(nums[i]!=0...

2019-08-13 16:52:38 82

原创 leetcode406根据身高重建队列

leetcode406根据身高重建队列思路:自定义排序+插入排序将原序列根据h降序,k升序 通过插入排序即可void add(int index, E element);class Solution { public int[][] reconstructQueue(int[][] people) { Comparator<int[]> c = new...

2019-08-13 15:32:46 372

原创 HashMap(JDK1.8)源码学习

package list;import java.util.ArrayList;import java.util.Iterator;public class ArrayListDemo {public static void main(String[] srgs){ ArrayList<Integer> arrayList = new ArrayList<Int...

2019-08-12 10:00:19 94

原创 ArrayList源码学习

https://github.com/Snailclimb/JavaGuide/blob/master/docs/java/collection/ArrayList-Grow.md

2019-08-12 09:40:14 101

原创 leetcode比特位计数

leetcode比特位计数class Solution { public int[] countBits(int num) { int[] ans = new int[num+1]; for(int i = 1;i<=num;i++){ ans[i] = ans[i>>1]+(i&1); ...

2019-08-09 15:07:37 133

原创 leetcode238除自身以外数组的乘积

leetcode238思路:左边的乘积创建数组保存,右边的乘积创建数组保存,ans = 左边*右边常规代码:int[] p; int[] q; public int[] productExceptSelf(int[] nums) { if(nums.length==0){ return new int[]{}; }...

2019-08-08 17:07:07 79

原创 leetcode跳跃数字

解法1::贪心(推荐)class Solution { public boolean canJump(int[] nums) { int ans = 0; for(int i = 0;i<nums.length-1;i++){ ans = Math.max(ans,nums[i]+i); if(ans&...

2019-08-06 10:36:07 435

原创 leetcode打家劫舍1,2,3(dp+递归)

leetcode打家劫舍1题意:给定一个数组,相邻的数字不能相加,其余数字可以任意相加,问在次情况下最大和是多少思路:理解题意后就能明白这道题的和最大和是个动态增长的过程而且依赖之前求出来的最大和,我们可以用dp来解决。dp的动态方程为dp[i] = max(dp[i-2]+nums[i],dp[i-1])代码如下:public int rob(int[] nums) { ...

2019-07-30 15:55:36 508

原创 leetcode169求众数

求众数题意:给定一组数组求出该组数组的众数思路:可以通过hash存一下数字出现的次数,然后逐一比较维护ans即可。当然也可以直接排序,取中间值(不推荐)这里介绍一个针对本题的方法,众数的出现次数要大于n/2,那这组数据的最糟糕的情况下是第一个数字出现次数为(n/2-1)次,第二个数字即答案出现(n/2+1)次我们可以通过一个变量cnt来计数,另一个变量num表示当前为止被计数的数字...

2019-07-30 10:19:38 77

原创 leetcode152乘积最大子序列(dp)

乘积最大子序列题意:给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。思路:除去暴力法,这道题的另一种解法就是dp来维护我们想要的ans.public int maxProduct(int[] nums) { int ans = Integer.MIN_VALUE; int maxans = 1; ...

2019-07-29 18:04:14 118

原创 leetcode146 LRU缓存机制(java)

LRU缓存机制题意:构造一个有LRU缓存机制的容器即写一个类并实现get和put通过jdk中的LinkedHashMap中的构造函数我们可以发现,jdk已经实现了LRU这一机制了LinedHashMap的构造函数如下:public LinkedHashMap(int initialCapacity, float loadFactor,...

2019-07-29 14:12:19 495

原创 查看电脑端口占用情况(cmd)

今天跑项目的时候发现启动不了,仔细一查发现是端口被占用了。可以通过cmd输入命令查询本机端口占用情况。根据pid去任务管理器中删除占用我们所需要端口的进程。...

2019-07-25 15:07:46 402

原创 leetcode085最大矩形(单调栈)

https://leetcode-cn.com/problems/maximal-rectangle/submissions/思路:这道题的做法与leetcode084很相像对每一行求一次柱状图中最大的矩形,通过辅助数组heights记录每一列的柱状图高度即可class Solution { public int largestRectangleArea(int[] hei...

2019-07-25 10:34:40 158

原创 leetcode084柱状图中最大的矩形(单调栈)

84.柱状图中最大的矩形https://leetcode-cn.com/problems/largest-rectangle-in-histogram/思路:柱状图中产生最大矩形有三种情况情况一:柱状图满足递增,则取最后最大的矩形即可。情况二:柱状图满足递减,则取最先的矩形即可。情况三:保证stack存递增的高度,class Solution { public int la...

2019-07-25 09:30:26 250

原创 位运算学习总结

位运算

2019-07-22 13:57:34 295

原创 List集合为空或为null的区别

简述判断一个list集合是否为空,我们的惯性思维是判断list是否等于null即可,但是在Java中,list集合为空还是为null,这是两码事。新建一个list对象,默认值是空,而非null;判断那么,我们什么时候用null,什么时候用isEmpty()或list.size()呢?空集合isEmpty() 或者(list.size() == 0)用于判断List内容是否为空,即表...

2019-07-18 11:21:40 565

原创 转发(Forward)和重定向(Redirect)的区别

转发是服务器行为,重定向是客户端行为。转发(Forward) 通过RequestDispatcher对象的forward(HttpServletRequest request,HttpServletResponse response)方法实现的。RequestDispatcher可以通过HttpServletRequest 的getRequestDispatcher()方法获得。例如下面的代码就...

2019-07-17 15:05:17 94

转载 get和post请求的区别

①get请求用来从服务器上获得资源,而post是用来向服务器提交数据;②get将表单中数据按照name=value的形式,添加到action 所指向的URL 后面,并且两者使用"?“连接,而各个变量之间使用”&"连接;post是将表单中的数据放在HTTP协议的请求头或消息体中,传递到action所指向URL;③get传输的数据要受到URL长度限制(最大长度是 2048 个字符);而po...

2019-07-17 14:59:12 100

原创 Java正确使用 equals 方法

Object的equals方法容易抛空指针异常,应使用常量或确定有值的对象来调用 equals。举个例子:// 不能使用一个值为null的引用类型变量来调用非静态方法,否则会抛出异常String str = null;if (str.equals("SnailClimb")) { ...} else { ..}运行上面的程序会抛出空指针异常,但是我们把第二行的条件判断语句改...

2019-07-17 14:04:12 7991

空空如也

空空如也

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

TA关注的人

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