![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
学习Java的日常问题。。
Jcduhdt
要有光
展开
-
远程连接redis问题
自己一直都是连本地redis,直接上localhost,没毛病。心血来潮连个linux系统上的redis,就遇到了连接不了的问题问题1使用IDEA搭建SpringBoot将redis服务器ip地址改为另一台电脑时,出现错误,项目无法启动,但是ping目标地址能ping通,通过本地电脑的redis进行连接redis-cli -h 192.168.xx.xxx -p 6379结果:由于目标计算机积极拒绝,无法连接之前以为是防火墙的问题,就进行了下述操作,但并没有用,不知道该操作影响到后面没有就贴了上原创 2020-10-10 16:42:45 · 1405 阅读 · 6 评论 -
JVM垃圾回收算法解析
四大回收算法标记清除算法思想:标记过程:从GC root搜索,标记不可达对象清除过程:清除标记的对象缺点:产生内存碎片,若大对象进入,则会触发其他GC机制标记整理算法思想:标记:从GC root搜索,标记不可达对象整理:将存活对象整理到基地址开始位置挨个放置,将端边界外的内存清理掉优点:没有内存碎片的产生问题缺点:效率问题复制算法思想:开辟两个容量相当的内存区,一个空闲(To区),一个装对象(From区)标记:在From区中标记待回收对象复制:将存活对象复制到To区原创 2020-08-31 15:23:37 · 173 阅读 · 1 评论 -
并查集理解
技多不压身学了这么久的数据结构了,还是有好些算法并没弄清楚,搞得有些笔试题都是没有思路,今天就讲讲并查集。分圈子感觉这东西吧,就是分圈子,一个人自成一个圈子,若分属于两个不同圈子的人在某时刻成了好朋友,那这两个圈子就合并成了一个圈子,最终在题目中形成多个圈子进行分析。路径压缩判断两个人是不是一个圈子要不停的找朋友验证,这就很麻烦,一个圈子总要有个大boss吧,所以最好直接在合并圈子的时候直接从属于一个一个老大,后面就查询两个人的老大是不是一个就知道是否处于同一圈子。参考可以看看这篇文章,讲的挺原创 2020-08-26 20:36:46 · 148 阅读 · 1 评论 -
字符串最少由多少回文子串构成
昨天的腾讯笔试题第五题,题意大概是这样的第一行输入一个字符串 s,1 <= s.length() <= 400第二行输入该组有多少个测试 n后面n行,每行输入两个数字,l,r用空格分割,l和r分别表示s的子串左右边界,1 <= l <= r <= s.length()例子:输入ababa41 52 51 42 4输出1221解释:1 5表示子串为ababa,此时本就为回文,所以最少由一个回文串构成,2 5表示子串为baba,此时可由b原创 2020-08-24 16:39:06 · 425 阅读 · 1 评论 -
保留长度四舍五入+回文素数
一次笔试两道编程题给定一个计算公式,输入n>0,输出该公式计算的值,保留4位小数,四舍五入输入n,m且1<=n<m<=1000000,输出[n,m]中有多少个回文素数公式计算计算res = 1/5 - 1/10 +1/15 - 1/20 +···+1/(5*(2n-1)) - 1/(5(2*n))代码其实很简单,然而由于忘记了四舍五入保留长度的方式,故而写的又臭又长,浪费时间import java.util.*;class Main { public st原创 2020-08-06 21:36:42 · 153 阅读 · 0 评论 -
最长回文子序列
起因为啥要写这篇博客呢,因为前两天进行了一场面试,就是撕这道题,当时一看,emmm做过的,仔细一看,做过类似的,对就是那个最长回文子串。当时只写了个dfs的,感到耗时应该会很久,但是也没有想出较好的方法,想到动态规划,但是不知道怎么动态规划,所以写下这篇博客题目以及参考题目最长回文子序列参考动态规划,四要素题目大概是这样给定一个字符串 s ,找到其中最长的回文子序列,并返回该序列的长度。可以假设 s 的最大长度为 1000 示例:输入bbbab,输出4,因为最长子序列为bbbbdfs原创 2020-08-06 17:53:30 · 234 阅读 · 0 评论 -
常见排序算法简述
冒泡排序BubbleSort基本思想通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻的元素值, 若发现逆序则交换,使值较大的元素逐渐从前往后移动,就像水底的气泡逐渐网上冒 优化若一趟比较下来没有进行过交换,就说明序列有序,通过设置flag判断元素是否进行过交换,减少不必要的比较过程一共进行 数组大小-1 次的大循环每一趟排序的次数逐渐减少如果发现某趟排序中,没有发生一次交换,则提前结束排序选择排序SelectSort基本思想每次假定需要排序数组第一位为最小值,原创 2020-07-17 21:56:56 · 241 阅读 · 1 评论 -
二叉树的非递归DFS实现
记一次面试痛点起因今天面试的时候,面试官让写一个对二叉树的非递归DFS实现,可能是紧张了吧,当然更大原因是因为菜,导致最后没有做出来。希望面试官给个机会,虽然基本是不可能的。当时心路历程这题不是一看就非常简单吗,递归分分钟实现,非递归不就按照递归代码改改就行了。且递归嘛,不就是用栈嘛,啥都想好了,看我怎么秒杀面试官结果:。。。没做出来,脑袋发懵,自己好菜啊。。递归玩多了,迭代还做不出来了。实现其实就可以把其当作二叉树的先序遍历,我特么想打死当时的自己,面试前命名都快压中题目了,结果一扫而过,心原创 2020-07-08 15:55:09 · 386 阅读 · 0 评论 -
JDK动态代理
基本介绍代理对象不需要实现接口,但是目标对象要实现接口,否则不能使用JDK动态代理代理对象的生成,时利用JDK的API,动态的在内存中构建代理对象也叫JDK代理、接口代理代理最主要原因就是不改变目标对象方法的情况下对方法进行增强使用API1.代理类所在包:java.lang.reflect.Proxy2.JDK实现只需使用newProxyInstance方法,但是该方法需要接收三个参数newProxyInstance(ClassLoader loader,Class<?>[]原创 2020-06-16 16:38:19 · 142 阅读 · 0 评论 -
堆排序
堆特点一个完全二叉树,以数组形式给出,0位置即为根节点假设父节点在数组中的位置为i,则其两个子节点(若存在)的位置分别为2i+1与2i+2一个节点在数组中的位置为k,则其父节点位置为(k-1)/2;堆排序大顶堆,数组中的最大值位于0位置小顶堆,数组中的最小值位于0位置其余位置不要求有序流程调整堆结构,使得要排序区间的最大值位于0位置交换,将0位置的值与尾部交换代码以自然顺序为例,通过大顶堆排序import java.util.Arrays;public class原创 2020-06-14 21:53:14 · 151 阅读 · 0 评论 -
IDEA+Mybatis+Maven逆向工程
逆向工程之前接触到逆向工程这个东西,感觉很有方便。只要在mysql中创好一张表,然后在IDEA中配置一下,就可以得到对应表的POJO、Mapper接口和xml文件。今天把它记录下来方便以后使用配置mysql建表我就不说了,先创好一个maven的webapp工程;依赖进入pom.xml导入依赖<dependencies> <!-- 依赖 MyBatis 核心包 --> <dependency> <groupId>org.原创 2020-06-04 23:15:10 · 162 阅读 · 0 评论 -
查看java进程信息
纸上得来终觉浅,绝知此事要躬行通过视频学习多线程有段时间了,但是总是当时记住了,过了不久,或许知道原理,但是要让我自己实现一下还是写不出来。最近准备看看《Java并发编程的艺术》这本书,跟着实践一下,重温知识。学学查看进程信息该文章主要是通过多线程的死锁来简单介绍三种查看进程状态的工具,虽然网上有不少介绍了,但是自己还是记录一下。死锁代码书上p5的例子,死锁,就是多个线程相互持有对方所需要的锁而不是释放,导致相互等待。public class DeadLockDemo { privat原创 2020-06-04 11:39:40 · 976 阅读 · 1 评论 -
为什么你的swap会有问题
swap记录一下菜鸡的心酸历程。一个简单的变量交换函数,大家应该都很熟悉int tmp = x;x = y;y = tmp;刷题多了,了解到位运算的速度有多nb,虽然ide会帮我们优化,但是面试的时候,或者拿给小白看,还是感觉有点逼格。x = x ^ y;y = x ^ y;x = x ^ y;问题既然要高调一点,那就时时刻刻保持着位运算优先原则,对吧。但是自己在手撸快排的时候,用位运算进行swap出现了问题。如下代码在进行排序的时候,出现了问题比如nums = {5,2,3,原创 2020-05-29 18:06:01 · 298 阅读 · 1 评论 -
使用IDEA进行支付宝沙箱测试
准备进入支付宝开放平台进入支付宝开放平台,登录。下拉,点击研发服务进入开发者中心,红框对应支付宝跟你分配的APPID因为是商家,支付宝要求进行支付操作时,你要调用支付宝的接口,支付宝也要调用你的接口,所以需要使用非对称加密。若是刚开始操作,RSA2哪里只有设置,没有查看,需要点击设置,在下图中的框中输入利用支付宝密钥生成器生成的公钥,私钥/公钥的生成生成器,点击下载,安装,打开软件进入生成器,直接点击生成密钥,就会在下方得到生成好的公钥和私钥。将公钥复制,进入支付宝开发平台的那个页原创 2020-06-03 12:49:23 · 3778 阅读 · 16 评论 -
Java中的HashMap
HashMap简介HashMap基于哈希表的Map接口实现,是以key-value存储形式存在,即主要用来存放键值对。HashMap 的实现不是同步的,这意味着它不是线程安全的。它的key、value都可以为null。此外,HashMap中的映射不是有序的。HashMap在jdk1.8之前是使用数组+链表的形式进行存储,在jdk1.8及其以后使用数组+链表+红黑树进行实现。其中数组是Hash...原创 2020-04-22 19:49:25 · 265 阅读 · 1 评论 -
SpringBoot报错Unable to start embedded Tomcat
Unable to start embedded Tomcat错误最后错误学习使用springboot/springcloud的时候出现错误org.springframework.context.ApplicationContextException: Unable to start web server; nested exception is org.springframework.bo...原创 2020-04-20 13:54:42 · 793 阅读 · 0 评论 -
比较两文件是否相同
Java代码实现比较两文件是否相同为了偷懒,不想使用人工的方式进行判断就去百度了一下。借用网上的代码,就是根据MD5加密的方式生成字符串,若两个文件有些许不同就会得到不同的字符串,通过对比两个字符串是否相同就能得到两个文件是否相同的结果。不过就是不能知道两文件哪里不同。import java.io.File;import java.io.FileInputStream;import ja...原创 2020-04-12 09:31:23 · 1121 阅读 · 0 评论 -
DFS与BFS
DFSDFS即深度优先遍历(Depth First Search),即不撞南墙不回头的意思,回溯操作。从一颗树的节点或者图的一个顶点出发,一直搜索最深的地方,直到无路可走,再回溯到上一个节点,继续走另一个方向上的路。这样不断重复的过程,将整个图或数遍历完,就是DFS。怎么实现DFS呢,这是我之前很困惑的问题,其实就是利用栈的思想,先进后出,DFS一般是使用递归,递归也是利用栈。没撞墙,就压入子...原创 2020-04-05 12:38:01 · 277 阅读 · 1 评论 -
解决js在浏览器中文乱码问题以及js、jsp没有正确加载问题
部署项目时js中文乱码问题解决添加修改js、jsp文件没有对应结果问题在做项目的时候,引入了js文件,发现该模块在浏览器中的中文显示乱码,但是其它中文都好好的在浏览器中F12->Sources->page那里看自己项目的js文件,发现其中的中文都是乱码,真的很烦啊。首先肯定的是编码格式出问题了,但是按照网友说的查看js的编码格式也确实是utf-8,项目也均是utf-8。解决...原创 2020-04-03 11:19:26 · 2135 阅读 · 0 评论 -
SSM框架简单整合
简单说明对黑马视频讲的简单的SSM框架的整合的整理,很简单,主要是理解三大框架如何结合在一起,jsp就是简单标签,数据库也只有单表。对黑马所讲解的基本没改变,就是添加了一些备注,自己记录一下。使用环境1.JDK:12.0.12.IDEA:2019.1.13.MySql:8.0.164.Tomcat:9.0.315.maven:3.5.2# 创建工程项目结构准备创建Maven工程,...原创 2020-03-18 01:43:12 · 181 阅读 · 0 评论 -
Error creating bean with name 'entityManagerFactory' defined in class path resource
spring boot报错看视频学爬虫的时候,作者用了spring boot,然而我并没有学过,只能照着写,运行时报错Error creating bean with name ‘entityManagerFactory’ defined in class path resource 。spring boot启动不成功看了文章使用了第一种方案,添加依赖:<dependency> ...原创 2020-01-16 15:35:46 · 866 阅读 · 0 评论 -
@Autowired is not applicable to local variable
低级错误Autowired is not applicable to local variableAutowired is not applicable to local variable跟着视频写代码,视频没错,我错了,IDEA一直标红,对象不能注入提示@Autowired is not applicable to local variable,还提示private not allowed ...原创 2020-01-16 15:01:27 · 933 阅读 · 1 评论 -
ssm整合问题
Tomcat部署项目不成功在进行ssm整合的时候,前面的操作都能成功,到了最后的进行账户保存的时候,项目就不能部署了,启动tomcat,浏览器不能打开,报错One or more listeners failed to start. Full details will be found in the appropriate container log file找了半天不知道该怎么办。。。后来...原创 2020-01-13 14:12:51 · 200 阅读 · 0 评论