- 博客(42)
- 资源 (10)
- 收藏
- 关注
原创 idea command line is too long解决办法
Error running ‘ServiceStarter’: Command line is too long. Shorten command line for ServiceStarter or also for Application default configuration.不要采用如下方法 会导致断点打印获取不到最新的采用如下方式,在RUN Configurations 中,改为JAR 重启idea 就行了...
2020-08-04 11:40:18
824
原创 copyOnWriteArrayList Vector 源码分析
copyOnWriteArrayList与Vector都是用来替换多线程下List的使用的这里通过源码分析一下他们的实现Vector底层为数组实现 初始容量为10//第一个参数为数组初始大小,第二个参数为扩容时需要增加的大小 public Vector(int initialCapacity, int capacityIncrement) { super(); if (initialCapacity < 0) throw new Ill
2020-07-02 15:12:10
248
原创 java.lang.UnsupportedOperationException异常处理
今天写代码的时候遇到的,原因是因为使用Arrays.asList()将数组转为list之后,想调用add方法增加元素时的异常,后来查了资料才发现猫腻在Arrays中有一个方法Arrays.asList(),这个平常我们都用作数组转List的,但是这个方法转出来的List是无法进行add/remove操作的,原因是由于通过这个方法产生的list不是我们平常使用Java util中的那个List,而是在Arrays内部实现一个内部类当你调用Arrays.asList()的时候,是调用了这个ArrayLi
2020-07-01 19:14:33
468
原创 布隆过滤器
布隆过滤器(Bloom Filter,下文简称BF)由Burton Howard Bloom在1970年提出,是一种空间效率高的概率型数据结构。它专门用来检测集合中是否存在特定的元素。听起来是很稀松平常的需求,为什么要使用BF这种数据结构呢?做过一个互联网商城的秒杀项目,有一个问题,就是如果用户恶意请求数据库里,缓存中不存在的数据,也就是产生所谓的缓存穿透,这时候,BF就是一个很好的选择它的...
2020-03-10 09:30:03
175
原创 (leetcode)合并多条有序链表
题目给定多条有序链表,合并返回一条链表例如:输入:1->3->52->4->63->6->9输出:1->2->3->3->4->5->6->9思路:简化问题,用分治的思想将多条链表的合并转为两两合并代码:public class MergeSort1 { public ListNode me...
2019-12-02 22:09:19
173
原创 (leetcode)K个一组翻转链表
题目给定一个链表,K个一组进行翻转,例:输入:1->2->3->4->5->63输出:3->2->1->6->5->4图解:思路:将数组分为未被反转,被反转两大部分,定义两个指针start和stop,同时定义一个前置结点指向头结点两个指针指向将要翻转的子链表的首位,将stop.next置为null,便于采用一般的翻转...
2019-12-02 11:11:41
302
原创 leetcode(最大储水面积)
最大储水面积非负整数数组,[a1,a2,a3…]每个整数代表墙的高度,选出和x轴组成的容器装水最多的思路:一般思路就是取两个数中最小的,和两个数下标的差值做乘积,遍历所有的组合,那么复杂度就为O(n^2)双指针(这种思路是真的多!)同样,定义两个指针,一个指向数组首位,一个指向数组末位,计算他们间的面积,哪边指针指向的数小,则计算完面积后,指针向中心靠拢,两个指针相遇,则算法结束,输出最...
2019-11-25 22:55:17
708
原创 (leetcode)整数翻转
整数翻转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 若超过int范围则输出0思路:最容易想到的就是转Stringbuffer,调用reserve(),但这道题的重点,在于判断超出范围,有这么一种思路,模拟栈的弹出,从原数的个位开始,构建一个新数,达到翻转的目的代码:public class ReserveInt { public static int r...
2019-11-25 22:46:56
188
原创 (leetcode)两数之和
题目输入两个链表,求两个链表的和例:输入:2->4->3 5->6->4输出:7->0->8思路需要定义一个头指针来指向新建立的结点,然后当成两条链表的遍历就可以了,需要注意的就是如两条链表遍历完后,进位标志仍为1,需要加一个结点指向它,作为新的进位。代码:public class ReverseSum { public ListNode a...
2019-11-19 18:32:55
135
原创 环状链表
题目给定一个链表,判断一个链表中是否存在环,若存在,求入环点思路:设置快慢指针来判断是否存在环,具体为快慢指针刚开始都指在头节点,快指针一次移动两个节点,慢指针一次移动一个节点,若两个指针指向同一节点,则证明链表中存在环,入环点的求法见下图:数学方法可证得F=b,而h点为快慢指针相遇点,所以,当两个指针相遇时,让快指针指向初始位置且快指针也每次移动一个节点,慢指针继续走,当两者再次相遇的...
2019-11-10 14:29:24
161
原创 二叉树的最近的公共祖先
题目思路:若两个节点分别处于根节点的左右子树,那么最近的公共祖先就是根节点,若不存在,则分别递归根节点的左右子树,找出最近的父节点代码:public static TreeNode lowestCommonAncestor(TreeNode root, TreeNode p, TreeNode q) { if(root == null || root == p || r...
2019-11-10 14:19:22
119
原创 (笔试)寻找三角形
题目三维空间中有N个点,每个点可能是三种颜色的其中之一,三种颜色分别是红绿蓝,分别用’R’, ‘G’, 'B’表示。现在要找出三个点,并组成一个三角形,使得这个三角形的面积最大。但是三角形必须满足:三个点的颜色要么全部相同,要么全部不同。输入用例5R 0 0 0R 0 4 0R 0 0 3G 92 14 7G 12 16 8输出6.00000思路:这个题,难点在于如何求...
2019-11-01 09:11:07
484
原创 (笔试)魔法币问题
题目小易现在一枚魔法币都没有魔法机器1:如果投入x个魔法币,魔法机器会将其变为2x+1个魔法币魔法机器2:如果投入x个魔法币,魔法机器会将其变为2x+2个魔法币小易采购魔法神器总共需要n个魔法币,所以小易只能通过两台魔法机器产生恰好n个魔法币,小易需要你帮他设计一个投入方案使他最后恰好拥有n个魔法币。输入描述:输入包括一行,包括一个正整数n(1 ≤ n ≤ 10^9),表示小易需要的魔法...
2019-10-30 21:34:48
208
原创 (笔试)度度熊回家
题目一个数轴上共有N个点,第一个点的坐标是度度熊现在位置,第N个点是度度熊的家。现在他需要依次的从0号坐标走到N-1号坐标。但是除了0号坐标和N号坐标,他可以在其余的N-1个坐标中选出一个点,并直接将这个点忽略掉,问度度熊回家至少走多少距离?输入:41 4 -1 3输出:4代码:public class DuduGohome { public static void main(...
2019-10-30 21:23:43
186
原创 (笔试)埋伏特工
题目我们在字节跳动大街的N个建筑中选定3个埋伏地点。为了相互照应,我们决定相距最远的两名特工间的距离不超过D。两个特工不能埋伏在同一地点三个特工是等价的:即同样的位置组合(A, B, C) 只算一种埋伏方法,不能因“特工之间互换位置”而重复使用输入:第一行为可选埋伏点,相距最远特工之间的距离,以下为埋伏点坐标4 31 2 3 4输出:有几种埋伏方案4说明分别...
2019-10-29 09:43:20
268
原创 (笔试)编码排序
题目假定一种编码的编码范围是a ~ y的25个字母,从1位到4位的编码,如果我们把该编码按字典序排序,形成一个数组如下:a, aa, aaa, aaaa, aaab, aaac, … …, b, ba, baa, baaa, baab, baac … …, yyyw, yyyx, yyyy其中a的Index为0,aa的Index为1,aaa的Index为2,以此类推。 编写一个函数,输入是任...
2019-10-29 09:39:22
414
原创 (笔试)最小拼接数
题目:输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这三个数字能排成的最小数字为321323。思路:可以用List存储,通过sort方法排序,排序规则就是将两数相加所得最小的一个放在前面,最终遍历相加list,就能得到最小的拼接数public class MinString { public sta...
2019-10-25 09:10:34
260
原创 (笔试)翻转数列
题目:小Q定义了一种数列称为翻转数列:给定整数n和m, 满足n能被2m整除。对于一串连续递增整数数列1, 2, 3, 4…, 每隔m个符号翻转一次, 最初符号为’-’;。例如n = 8, m = 2, 数列就是: -1, -2, +3, +4, -5, -6, +7, +8.而n = 4, m = 1, 数列就是: -1, +2, -3, + 4.小Q现在希望你能帮他算算前n项和为多少。...
2019-10-25 09:03:18
271
原创 (笔试)俄罗斯方块
题目:小易有一个古老的游戏机,上面有着经典的游戏俄罗斯方块。因为它比较古老,所以规则和一般的俄罗斯方块不同。荧幕上一共有 n 列,每次都会有一个 1 x 1 的方块随机落下,在同一列中,后落下的方块会叠在先前的方块之上,当一整行方块都被占满时,这一行会被消去,并得到1分。有一天,小易又开了一局游戏,当玩到第 m 个方块落下时他觉得太无聊就关掉了,小易希望你告诉他这局游戏他获得的分数。输入:...
2019-10-20 21:50:03
151
原创 (笔试)苹果位置
题目:在果园里有N堆苹果,每堆苹果的数量为ai,小易希望知道从左往右数第x个苹果是属于哪一堆的。描述:输入: 第一行一个数n(1 <= n <= 105)。第二行n个数ai(1 <= ai <= 1000),表示从左往右数第i堆有多少苹果第三行一个数m(1 <= m <= 105),表示有m次询问。第四行m个数qi,表示小易希望知道第qi个苹果属于哪...
2019-10-20 20:54:50
181
原创 (笔试)数列重排
题目:小易有一个长度为N的正整数数列A = {A[1], A[2], A[3]…, A[N]}。牛博士给小易出了一个难题:对数列A进行重新排列,使数列A满足所有的A[i] * A[i + 1](1 ≤ i ≤ N - 1)都是4的倍数。小易现在需要判断一个数列是否可以重排之后满足牛博士的要求。输入描述:输入的第一行为数列的个数t(1 ≤ t ≤ 10), 接下...
2019-10-20 20:51:14
395
原创 (笔试)射击游戏
题目:小易正在玩一款新出的射击游戏,这个射击游戏在一个二维平面进行,小易在坐标原点(0,0),平面上有n只怪物,每个怪物有所在的坐标(x[i], y[i])。小易进行一次射击会把x轴和y轴上(包含坐标原点)的怪物一次性消灭。小易是这个游戏的VIP玩家,他拥有两项特权操作:1、让平面内的所有怪物同时向任意同一方向移动任意同一距离2、让平面内的所有怪物同时对于小易(0,0)旋转任意同一角度小...
2019-10-15 23:36:47
533
原创 Spring的AOP(XML配置)开发
AOP中的术语连接点(Joinpoint) :即可以被拦截的点,也就是某个可以进行增强的方法,比如数据库持久层的 增删改查方法就可以称为连接点切入点(Pointcut): 即被增强的点,比如之后的例子中的delect()方法就可以称为切入点通知(增强)(Advice):即增强的方法,也就是需要在原有方法(连接点)上额外加入的方法织入(weaving):把将通知加到切入点上的过程就...
2019-06-04 00:10:07
158
原创 Spring的IOC与DI
前言先讲一下Spring的产生,因为之前的博客直接简单模拟了Spring,觉得比较唐突,毕竟有些人还不理解Spring用来干嘛,所以在这里详细讲解一下Spring这是百度百科的解释,我就通俗的讲一下,Spring中有两个核心,一个是IOC(控制反转),一个是AOP(面向切面)IOC(控制反转)先说一个场景,比如我有一个类,这个类里面有个方法,而这个类是用于数据库持久层的,那就意味着如果工...
2019-05-29 11:27:03
181
原创 Mybatis的简单配置
前言类似于Hibernate的配置,它也是有一个基础的XML文件,但是这个XML文件的名字可以给任意的名字,它里面的配置也是通过的映射找到model中的XML文件,然后再根据这个XML文件中配置的成员与字段的映射关系再去处理相关问题,代码如下:首先是基础XML的配置:basexml.xml<?xml version="1.0" encoding="UTF-8"?><!D...
2019-05-27 00:17:21
271
原创 Hibernate的简单配置
前言简要的说一下hibernate,它是一个数据持久层的框架,用来让程序员简化问题的考虑方面,不再去考虑数据如何获取和存入,将更多的注意力集中在对数据的操作,前面的博文讲解过模拟hibernate的实现,这篇来讲解如何配置hibernate框架。首先,在src下应该有一个hibernate.cfg.xml的XML文件,它里面是配置映射关系,用来找到model中的xml,也可以在这个xml里面配...
2019-05-26 23:41:49
199
原创 图书管理系统(JAVA+Mysql)
前言:由于课设需要做这个,于是就抽了点闲余时间,写了下,基本全部都涉及到,包括借书/还书,以及书籍信息的更新,查看所有的书籍,代码我直接上传到我的资源里面了,需要的有积分的就去下载,要是没积分就留个邮箱我抽时间发给你们。这篇我讲一下我的思路以及中间遇到的问题和解决办法。总体思想:需求分析:MIS最重要的就是需求分析,只有分析清晰了,才能动手编程,所谓编程,不过是把一种思路用代码实现而已,...
2019-05-19 23:18:57
21797
32
原创 Java与数据库中的datetime Timestamp以及String之间的转换
这是今天做数据库的时候碰到的问题,先大概说一下问题,首先大家知道数据库中对于时间的存储类型有好几种,比如timestamp,datetime,date, 那么我们的程序不可避免会出现对于时间的写入和读取,首先,Model类,也就是所谓的pojo,它作为一个数据库与java的一个数据连接中枢,当我们读取时间格式的数据时候,就出现了问题;第一个问题是这个,如下图:这个错误的意思是,无法把一个St...
2019-05-18 23:48:54
4717
原创 数据库持久层(简单模拟Hibernate)注解方式&XML方式
首先,先来对Hibernate做个简单介绍:Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自动执行,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使...
2019-05-15 00:55:54
440
原创 bootstrap中的垂直居中
利用bootstrap搭建页面的时候,遇到字体和图片如何垂直居中的问题,解决方法如下首先增加一个类:.son{ display: flex; justify-content:center; align-items:Center;}这个类直接用于你需要垂直居中的那个div注意 除此之外还需要增加一个类.father{ height: 100%; text-alig...
2019-05-13 00:32:10
5608
原创 模拟Spring注入的实现(循环依赖的解决)
Spring中的注入开始让我很迷,不清楚这个名词代表什么意思,怎么说呢,网上有一个很好得例子,就是说假如我是一个妖怪,我需要吃小孩,但是小孩不能凭空产生啊,需要有一个男人和一个女人,以及通过一个嘿嘿嘿的函数(小孩类构造函数),把这个小孩给造出来把,那么我只想去吃小孩,我不想去管它怎么来的,那么Spring的实现就相当于作为一个容器,假如我要吃小孩了,就从中拿出来吃就行了,不用去关心它是怎么来的,由...
2019-04-28 22:58:15
756
原创 关于JS中的函数(类),成员,prototype(__proto__)
函数Javascript中的函数有三个身份作为Funcation类的实例作为自身类的构造函数作为一个实实在在的类先说作为Funcaton类的实例这种情况,可以用instanceof去检测:查看控制台可以发现:说明它确实是Funcation的一个实例再来说剩下的两种情况,看下面的例子:查看控制台:首先,我们说在java中或者C++中,都有构造函数,new的实质就是创造...
2019-04-18 00:13:19
987
原创 javascript select获取年月日
如果需要实现类似下拉框选择年月日的控件,刚开始我想到的是最蠢的解决办法,就是给< select >中的每个都赋值,然后再显示,但是这种实在太浪费时间而且太蠢,于是我就想到了第二个方法,利用函数实现,如下: <script type="text/javascript"> var birthYear = document.getElementById("birthYear...
2019-04-17 19:59:03
1825
原创 mysql无法正常连接 can't connect to mysql server on 'localhost' (10061)"
好久没弄数据库,进入的时候突然提示这个错误这个错误就是说明你的mysql服务没有启动,下面是解决方案:第一先是检查你的服务是否开启:右键我的电脑,选择管理,在选择服务找到mysql服务,然后手动启动,如果启动失败,出现如下图:还是无法连接数据库的话,那么就可以根据下面的步骤来操作:点击这个链接...
2019-04-16 23:18:54
618
原创 JAVA 代理机制(cglibproxy&jdkproxy)
代理机制简单来说,代理机制是一种模式,是为了让我们在不修改被代理类源代码的情况下通过代理类去改变或者说控制代理类的执行,本质还是为了贯彻落实程序设计核心的开闭原则,即对扩展开放,对修改封闭;简单的说,代理机制分为两大类,静态代理和动态代理,这里只讲动态代理;动态代理的话又分为两大类,一是导入jar包的cglibproxy,一种是JAVA自带的jdkproxy,下面是两种模式的使用例子:jdkp...
2019-04-16 09:16:10
443
原创 JAVA中队列,栈的使用@凯撒加密算法@后缀表达式
凯撒加密算法在看数据结构的时候,发现讲到了一个凯撒加密,于是就百度了解一下,它是加密算法的一种,原理大概就是首先得有一个密钥,它是用来对消息进行加密的,那么怎么加密呢,最原始的时候就是密钥为一个数字,假设为a因为你发过来的是一个字符串,于是我就对字符串的每个元素,或者说字母移动a个元素,举个例子,假如传过来的消息为"hello",a为1,那么加密之后的字符应该为"gfmmp", 但是这有个很明显...
2019-04-12 00:24:08
372
原创 HTML+CSS的简单使用(代码)
示例1其中有图片或者视频的地方被我注释掉了,因为你们电脑不存在我这个HTML所需要的视频或者图片文件,但是大家可以添加自己的图片或者视频进去,其实主要还是希望大家看一下里面的细节操作,这都是很简单的对标签的使用,两个示例的图片我都放在后面展示,相关的CSS文件也附代码html文件:<!DOCTYPE html><html><head> <tit...
2019-04-11 00:41:24
5281
2
原创 HTML CSS的一些总结
初步认识:这几天开始接触前端,当然先从HTML+CSS开始,首先先说一下我现在对它的认知,前端技术假如只是HTML+CSS的话,我认为前端是非常简单的,它的语言甚至不能称为编程语言,只能叫做超文本标记语言,因为HTML+CSS没有逻辑问题的判断,如果你学过java的话,你会发现它超级类似于Swing,不同的是它是在网页上实现swing,而且它更加酷炫罢了,当然它也有它的好处,比如比起swing来...
2019-04-11 00:23:10
231
2
原创 初识JVM
这几天因为看类加载器的东西,所以顺便看了些有关JVM的,所以就在这里说一下我对JVM的初次认识首先,我们来说什么是JVMJVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。这种说法比较官方,其实我们关心的就是JVM到底是干什么的,它能干什么,粗略的说,JVM就是...
2019-04-07 16:17:13
342
原创 关于滴答滴答定时器的一些问题
在前些天的学习中,感觉到线程是非常非常的重要,所以写了一个关于线程调用的问题,具体如下:现在,有这么个需求,我需要做一个定时器,每1000ms也就是1S响一下,或者说执行我们所给的操作(示例中只是简单的输出了一下)一般情况的做法是: 我们给出一个线程,让它等待1000ms,完了之后执行我们给的dosomething()方法,用来执行我们的操作;乍一看,这个处理方法好像没有什么问题,但是仔细...
2019-04-05 00:34:05
1260
图书管理系统(java+mysql).zip
2019-06-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人