自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 使用跳板机dump数据

mysqldump -h ${IP} -P ${port}-u ${username}-p${password} ${database} ${tablename...} --skip-lock-tables > test.sql

2022-06-16 11:12:13 160 1

原创 堆排序及其复杂度分析

以升序排序为例,大顶堆实现:package leetcode.sort.compare.select;import java.util.Arrays;public class HeapSort { public void downAdjust(int[] array, int parentIndex, int length) { int largestIndex = parentIndex; int lChildIndex = 2 * parent..

2022-01-17 11:38:10 2031

原创 读写锁--插队策略

读写锁:读写线程不能同时持有同一把锁,可以多个读线程同时持有同一把锁,多个写线程不能同时持有同一把锁。一、公平锁:不允许插队二、非公平锁:写锁 可以随时插队; 读锁仅在等待队列头结点不是想获取写锁的线程时才可以插队。...

2021-11-20 22:24:53 330

原创 Java位运算和几个常用的规律

一.异或 运算:无进位相加应用:1.不申请额外空间,交换两个数int a, b;a = a^b;b = a^b;a = a^b;2.提取最右边的1int n;int rightOne = n & (~n + 1);例如: n :11010100; ~n :00101011; ~n+1 :00101100;n&(~n+1):00000100;3.无进位相加,抹去最右边的1int n;int rightOne = n &am

2021-09-08 10:52:53 140

原创 Java基础--类加载机制

一、Java类加载机制在讲类加载机制之前先放上一张JVM物理结构图,有助于理解类加载机制:JVM物理结构图1、类加载机制概念 当程序主动使用某个类时,如果该类还没被加载到内存中,则JVM会通过加载、连接、初始化 3 个步骤来对类进行初始化。如果没有意外,JVM将会连续完成这 3 个步骤,所以有时也把这 3 个步骤统称为类加载或类初始化。2、类加载过程工作机制...

2019-09-06 16:14:49 178

原创 Java字符串大小比较--compareTo()方法

Java编程中,我们会偶尔遇到字符串大小比较的问题compareTo()方法很简单就实现这种功能。该方法用于判断一个字符串是大于、等于还是小于另一个字符串。判断字符串大小的依据是根据它们在字典中的顺序决定的。 语法:str1.compareTo(str2);其返回的是一个int类型值。若Str1等于参数字符串Str2字符串,则返回0;若该Str1按字典顺序小于参数字...

2019-08-19 15:06:30 37113 5

原创 Java ==和equals()的区别

本篇文章讲的是从JVM角度比较==和equals的区别一、**Java数据类型分类**1:基本数据类型又称为原始数据类型,他们之间的比较应该使用(==),比较的是他们的值。2:引用数据类型当引用数据类型用(==)进行比较,比较的是他们在内存中的存放地址。当复合数据类型之间进行equals比较时,这个方法的初始行为是比较对象在堆内存中的地址。equals()方法...

2019-08-14 09:28:41 178

原创 Java基础--变量

Java变量有两种类型:primitive主数据类型和引用类型primitive主数据类型:用来保存基本类型的值,包括整数,布尔和浮点数等类型 位数 值域 boolean JVM决定 true/false char 16bits 0~65535 byte 8bits -128~127 short 16bits -3...

2019-08-08 10:23:41 176

原创 Java中基本数据类型转换(自动、强制、提升)

Java种的8大基本数据类型,以及它们所占内存大小和范围1、自动类型转换自动类型转换是指:数字表示范围小的数据类型可以自动转换成范围大的数据类型。如:long l = 100;int i = 200;long ll = i;具体自动转换如如下图所示:实线表示自动转换时不会造成数据丢失,虚线则可能会出现数据丢失问题。自动转换也要小心数据溢出问题,看下...

2018-10-23 16:41:32 338

原创 几条常用的git命令

Git几个概念:工作区-->暂存器-->版本库-->远程仓库1、git init                                             --创建版本库2、vi 文件名                                        --同个vi 指令添加文件3、git add 文件名                   ...

2018-10-18 18:48:46 163

原创 LeetCode435. 无重叠区间

LeetCode上提交 执行时间优于100%的提交记录给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。示例 1:输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1解释: 移除 [1,3] 后,剩下的区间...

2018-08-30 19:44:18 582

原创 JVM (四)--垃圾收集(二)

一、垃圾收集算法1、标记-清除将存活的对象进行标记,然后清除掉未被标记的对象。不足:标记和清除过程中效率多不高; 会产生大量不连续的内存碎片,导致无法给大对象分配内存。2、标记-整理让所有存活的对象都向一端移动,然后直接清除掉端边界以外的内存。3、复制将内存划分为大小相等的两块,每次只使用一块,当这一块内存用完就将还存活的对象复制到另外一块上面,然后再...

2018-08-30 11:05:14 207

原创 JVM (四)--垃圾回收(一)

程序计数器、虚拟机栈、本地方法栈这三个区域属于线程私有,只存在于线程的生命周期内,线程结束之后也会消失,因此,不需要对这三个区域进行垃圾回收。垃圾回收主要针对方法区和Java堆进行。一、判断一个对象是否存活1、引用计数算法给对象添加一个引用计数器,当对象增加一个引用时计数器加1,引用失效时计数器减1。引用计数器不为0的对象仍然存活。两个对象出项循环引用的时候,此时引用计数器永远不为...

2018-08-29 17:20:02 260

原创 JVM (二)--Java程序编译、类加载及执行

Java程序的编译Java程序的编译是由Java源码编译器来完成,流程图如下:Java程序的执行Java程序的编译是由Java执行引擎来完成,流程图如下: Java代码编译和执行的整个过程包含了以下三个重要的机制: Java源码编译机制 类加载机制 类执行机制 一、Java源码编译机制Java 源码编译由以下三个过程组成:分析和输入...

2018-08-29 11:38:50 321

原创 JVM (三)--内存模型、变量可见性、指令重排、内存屏障

Java内存模型Java内存模型(JMM):Java定义的一中抽象规范,用来屏蔽不同硬件和操作系统的内存访问差异,让Java程序在不同平台下都能达到一致的内存访问效果。Java内存图示:1、主内存:线程共享内存,线程读写访问较慢;包括方法区和Java堆,对于一个共享变量(比如静态变量,堆内存中的实例),主内存存有其“本尊”。2、工作内存:线程私有的内存,线程访问较快。对...

2018-08-28 22:37:03 1015

原创 LeetCode31.下一个排列(字典序全排列)

实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3→1,3,23,2,1→1,2,31,1,5→1,5,1思路分析:下面贴一张leetcode上官方解答...

2018-08-28 17:33:40 2981 1

原创 JVM (一)--运行整体流程

面试:面试被问到JVM,竟然对JVM这几个字母没反应过来,后面也就答了JVM的内存管理和GC算法,答得模棱两可。写给自己:JVM一直都是Java中很重要基础知识,是面试中必问的知识点。如果连JVM都弄不清楚,还谈什么Java开发。运行流程Java语言宣称:一次编译,到处运行实现如下:1)Java程序经过一次编译后,将Java代码编译为字节码文件(.class文件);2)...

2018-08-27 14:09:41 1113

原创 08头条实习生面试_字典序的第K小数字

LeetCode(440)字典序的第K小数字思路:其实这是一个"十叉树",如下图:1)每个节点的子节点可以有十个,比如节点1的子节点可以是10~19、节点2的字节的可以是20~29、。。。但是由于n大小的限制,构成的并不是一个"满十叉树"。2)分析题目中给的例子可以知道,数字1的子节点有4个(10,11,12,13),而后面的数字2到9都没有子节点,那么这道题实...

2018-08-21 16:39:15 2829 1

原创 06网易笔试题_数对

牛牛以前在老师那里得到了一个正整数数对(x, y), 牛牛忘记他们具体是多少了。但是牛牛记得老师告诉过他x和y均不大于n, 并且x除以y的余数大于等于k。牛牛希望你能帮他计算一共有多少个可能的数对。输入描述:输入包括两个正整数n,k(1 <= n <= 10^5, 0 <= k <= n - 1)。输出描述:对于每个测试用例, 输出一个正整数表...

2018-08-10 20:46:32 305

原创 05网易笔试题目_牛牛找工作

为了找到自己满意的工作,牛牛收集了每种工作的难度和报酬。牛牛选工作的标准是在难度不超过自身能力值的情况下,牛牛选择报酬最高的工作。在牛牛选定了自己的工作后,牛牛的小伙伴们来找牛牛帮忙选工作,牛牛依然使用自己的标准来帮助小伙伴们。牛牛的小伙伴太多了,于是他只好把这个任务交给了你。输入描述:每个输入包含一个测试用例。每个测试用例的第一行包含两个正整数,分别表示工作的数量N(N<=1...

2018-08-10 11:15:41 323

原创 04头条笔试_字母交换

【编码题】字符串S由小写字母构成,长度为n。定义一种操作,每次都可以挑选字符串中任意的两个相邻字母进行交换。询问在至多交换m次之后,字符串中最多有多少个连续的位置上的字母相同?输入描述:第一行为一个字符串S与一个非负整数m。(1 <= |S| <= 1000, 1 <= m <= 1000000)输出描述:一个非负整数,表示操作之后,连续最长的相同字母...

2018-08-09 20:39:15 3946

原创 03头条笔试题目_手串

作为一个手串艺人,有金主向你订购了一条包含n个杂色串珠的手串——每个串珠要么无色,要么涂了若干种颜色。为了使手串的色彩看起来不那么单调,金主要求,手串上的任意一种颜色(不包含无色),在任意连续的m个串珠里至多出现一次(注意这里手串是一个环形)。手串上的颜色一共有c种。现在按顺时针序告诉你n个串珠的手串上,每个串珠用所包含的颜色分别有哪些。请你判断该手串上有多少种颜色不符合要求。即询问有多少种颜色在...

2018-08-09 16:19:37 516

原创 02头条后端笔试题_ 用户喜好

为了不断优化推荐效果,今日头条每天要存储和处理海量数据。假设有这样一种场景:我们对用户按照它们的注册时间先后来标号,对于一类文章,每个用户都有不同的喜好值,我们会想知道某一段时间内注册的用户(标号相连的一批用户)中,有多少用户对这类文章喜好值为k。因为一些特殊的原因,不会出现一个查询的用户区间完全覆盖另一个查询的用户区间(不存在L1<=L2<=R2<=R1)。输入描述:...

2018-08-08 20:28:27 1484

原创 01头条笔试题目-最大点

P为给定的二维平面整数点集。定义 P 中某点x,如果x满足 P 中任意点都不在 x 的右上方区域内(横纵坐标都大于x),则称其为“最大的”。求出所有“最大的”点的集合。(所有点的横坐标和纵坐标都不重复, 坐标轴范围在[0, 1e9) 内)如下图:实心点为满足条件的点的集合。请实现代码找到集合 P 中的所有 ”最大“ 点的集合并输出。输入描述:第一行输入点集的个数 N, 接下来 N...

2018-08-08 13:45:09 462

原创 SpringMVC流程架构图

【组件说明】以下组件通常使用框架提供实现:1.DisPatcherServlet:前端控制器(不需要程序员开发)用户请求到达前端控制器,它相当于MVC模式中的C(Controller),DispatcherServlet是整个流程控制的中心,由它调用其它组件处理用户的请求,DispatcherServlet的存在降低了组件之间的耦合性。作用:作为接受请求,相应结果,相当于转发器,中...

2018-08-05 16:29:11 427

原创 MySQL数据库优化

1、选取最适用的字段属性将表中字段的宽度设得尽可能小:MySQL可以很好地支持大数据量的存取,但是一般来说,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为char(255),显然给数据库增加了不必要的空间。另外,如果使用varchar类型,虽然varchar按...

2018-07-18 22:21:26 154

原创 char(10)和VARCHAR(10)主要的区别

CHAR的长度是固定的,而VARCHAR的长度是可以变化的。 比如,存储字符串“abc",对于CHAR (10),表示你存储的字符将占10个字节(包括7个空字符),而同样的VARCHAR2 (10)则只占用3个字节的长度,10只是最大值,当你存储的字符小于10时,按实际长度存储。 CHAR的效率比VARCHAR的效率稍高。  目前VARCHAR是VARCHAR的同义词。工业...

2018-07-18 21:56:44 3537

原创 IDEA搭建MyBatis工作环境(不使用Maven)

一、创建工程1、创建Java项目,勾选Java EE,Next,修改名称位MyBatisDemo,Finish新建后目录结构如图:2、在WEB-INF下创建两个文件夹classes和lib,分别用作 输出文件目录 和 库文件目录3、File-Project Structure, Module-Path中将Out path和Test Out path更改为classes4、File-Project ...

2018-07-16 15:35:26 4343 2

原创 Fedora25安装Mysql&&通过navicat连接

背景:之前在腾讯云服务器的ubuntu系统中安装过,但这次在Fedora25上安装碰到了很多问题,特此记录一下参考文章:https://www.cnblogs.com/S-tec-songjian/p/5674718.html说明:Fedora19以后好像取消了对mysql的支持,看其他人好像说是用的mariadb的。Centos里用yum安装的方式,放到Fedora中不能用一、切换为root用户...

2018-06-11 23:53:05 830

原创 动态规划——背包问题

01背包问题01背包问题的状态转换方程f[i,j] = Max{ f[i-1,j-Wi]+Pi( j >= Wi ), f[i-1,j] }f[i,j]表示在前i件物品中选择若干件放在承重为 j 的背包中,可以取得的最大价值。Pi表示第i件物品的价值。决策:为了背包中物品总价值最大化,(如果第i件物品放得下的话)第 i件物品应该放入背包中吗 ?(当然,如果放不下,那就只能选择不放了)题目...

2018-03-31 10:15:54 220

原创 腾讯云服务器配置

说明:良心之作,专为小白解惑。附:几条常用的linux指令1、进入目录操作进入上一级指令:cd ..进入子目录:cd direct(direct为子目录的名称)2、将文件/home/ubuntu/customer.war复制到/home/ubuntu/tomcat/webapps指令:cp /home/ubuntu/customer.war /home/ubuntu/tomcat/webapp...

2018-03-26 11:29:02 2336

空空如也

空空如也

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

TA关注的人

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