![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
java问题总结
java遇到问题总结
杵意
王锡豪,code是爱好,有兴趣的可以关注,定不负代码不负卿。java开发工程师
展开
-
java读取过来的文件乱码?指定字符集。操作文件的几种方式
OutputStreamWriter 主要用于将字符转换为字节并写入到字节流中。BufferedWriter 主要用于提供缓冲功能,以提高向字符流中写入文本数据的性能。OutputStreamWriter 是字符流向字节流的桥梁,而 BufferedWriter 是用于字符输出流的缓冲写入。虽然它们都用于字符输出,但主要的功能和使用场景是不同的,根据具体的需求选择合适的类来实现相应的功能。原创 2024-04-18 16:26:01 · 658 阅读 · 0 评论 -
要导出 PostgreSQL 数据库中的数据使用 pg_dump 命令
如果只需要导出数据库中的数据(不包括表结构),可以使用 -a 选项。-f output_file.sql:指定输出文件名,导出的数据将保存到该文件中。使用 pg_dump 命令来导出整个数据库,包括表结构、数据等。如果只需要导出特定表的数据,可以使用 -t 选项指定表名。-d dbname:指定要导出的数据库名。-h hostname:指定数据库主机名。-U username:指定数据库用户。-t tablename 指定表名。-p port:指定数据库端口号。原创 2024-03-15 08:52:18 · 2032 阅读 · 0 评论 -
在开发过程中,正则表达式是一种使用很频繁的工具,正确使用,能很大程度的提高开发效率。
matcher.find(0)为找到索引为0的匹配的字符串,然后通过matcher.group()进行获取。在开发过程中,正则表达式是一种使用很频繁的工具,正确使用,能很大程度的提高开发效率。有的时候我们并不需要获取到其中的字符串,而是只需要去匹配字符串是否符合该正则表达式。返回的就是Boolean类型的值。原创 2022-11-07 10:06:07 · 178 阅读 · 0 评论 -
使用Mybatis-Plus时,想要手动插入自增id的值,怎么解决?
使用Mybatis-Plus时,想要手动插入自增id的值,怎么解决?今天在做项目的时候,有一个需求就是同步数据库中的内容,本次做的是增量同步数据,想要增量同步,第一个想法就是使用自增id去比对两个库中的数据,查到新数据库中的最大的id,因为是自增,所以需要同步的库中大于这个id的都为新数据。下面我将需要添加数据的数据库叫为1库,有数据的为2库于是:2库:我将1库清空执行数据同步:但是结果出乎我的意料,,这会让下次同步的时候出现数据错误,原创 2022-11-05 17:15:33 · 1765 阅读 · 1 评论 -
自定义分页,对结果集合进行分页操作 对于工作中复杂的业务,使用mabatis-plus加分页插件的话,有时候得不到自己想要的
collect为最终查到的所有结果的集合,pageNum和PageSize为分页条件。得到的结果就是已经分页过得。原创 2022-11-05 14:46:37 · 158 阅读 · 0 评论 -
java如何保留小数点后两位
1、用format方法,语法“String.format(“%.2f”,数值)”;NumberFormat的setMaximumFractionDigits方法。4、用setMaximumFractionDigits方法。2、用DecimalFormat的format方法;DecimalFormat的format方法。BigDecimal的setScale方法。3、用setScale方法进行四舍五入;String的format方法(推荐)原创 2022-10-24 16:20:58 · 23945 阅读 · 0 评论 -
Nginx去配置socket的时候,发现nginx没有配置ws/wss协议,配置步骤如下
配置之前需要知道ws协议和wss协议的区别。原创 2022-10-24 16:18:51 · 2799 阅读 · 1 评论 -
HashMap & HashSet 的key“自动排序”问题
使用 TreeMap//默认为升序排序//降序}});//不一定非得使用TreeMapmap.add .. . //插入数据//后处理//1.转换为list//2.Collections进行排序//升序 return o1.getValue() .compareTo(o2.getValue());} });原创 2022-10-18 16:21:08 · 1751 阅读 · 0 评论 -
java发送http请求的几种方式,调用第三方接口的方法:HttpUtil、HttpURLConnection等
可以直接使用HttpRequest调用(httputil底层封装的方法)put请求post带请求头get、delete类似......java原生HttpURLConnection独立jar包半原生HttpClientCloseableHttpClientspring体系自带RestTemplateHttpUtil hutu工具包封装的此模块基于JDK的HttpUrlConnection封装完成get请求post请求原创 2022-10-15 14:52:35 · 4718 阅读 · 0 评论 -
开发中遇到的定时任务中的问题,多次调用同一个方法,有的随机执行有的不执行System.out.print()输出,发现问题原因
通过上个图,我们可以想到有这么一种场景,在System.out.println()运行过程中,或因系统原因或者其它原因,导致在执行println的时候,发生了阻塞,那么因此带来的后果是,所有使用System.out.println()的地方,都会处于block状态,甚至引发系统宕机等。至于System.out.println()本身的性能问题,可以作为单纯的性能优化来讲,也是不建议使用,既然是深入分析,我们先看下严重的场景,这才是导致禁用Syste.out.println()的重要原因。原创 2022-09-27 18:25:13 · 489 阅读 · 0 评论 -
字符串转list 对象
就可以将json转为list对象啦。原创 2022-09-20 16:28:02 · 999 阅读 · 0 评论 -
mybatisplus的@DS在实现类里不起作用为什么
开发中遇到的问题。原创 2022-09-15 15:16:55 · 2610 阅读 · 2 评论 -
程序错误:Cannot construct instance of `java.time.LocalDate` LocalDateTime序列化问题:
需要指定如何序列化和反序列化java.time.LocalDateTime类型的数据。使用 @JsonDeserialize 和 @JsonSerialize。因为对象中含有java.time.LocalDateTime类型的字段。转换的时候处理不了。这个错误是我在将Json字符串给对象赋值的时候遇到了。原创 2022-09-08 13:56:42 · 3952 阅读 · 0 评论 -
sql记录,获得这一年的数据,以年以及设备名称分组,进行sql语句的编写、删除重复记录。
DATE_FORMAT(time,“%Y”) 将time格式化为年份,还可以有其他的写法,如%Y-%m 为月,等等。分组为GROUP BY years,name,先按年分组,按年分组之后再按设备名name分组。获得这一年的数据,以年以及设备名称分组,进行sql语句的编写。查出来按2021分组之后,再按照设备名进行分组。原创 2022-09-05 11:06:08 · 1932 阅读 · 0 评论 -
socket、WebSocket的使用,前后端发送消息的例子
WebSocket 协议在2008年诞生,2011年成为国际标准。所有浏览器都已经支持了。它的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。......原创 2022-08-31 13:58:05 · 3606 阅读 · 5 评论 -
使用java代码获取yml及properties文件中的内容,获取值
获取properties文件中的内容最近做项目一些值需要放在配置文件中,一开始使用的是properties文件,我这里没有使用注解@Value获取。获取yml文件中的内容原创 2022-08-24 10:13:20 · 2931 阅读 · 0 评论 -
java中如何ping一个ip地址
这两天同事在使用Java 的ping方法的时候,发现在Windows环境下可以正常ping通的,而在centOS(Linux)里面无法ping通。经过排查: 发现被ping的设备上有设置ping包大小限制,限制在了32位以内。我查看了一下,Windows ping的默认包大小是32位,Linux是56位.结果如果直接使用isReachable方法是无法ping通的。原创 2022-08-19 17:57:36 · 2449 阅读 · 3 评论 -
LocalDateTime转Date,使用LocalDateTime的时候遇到当前时间增加分钟增加加时间的问题(时间穿越)
这个方法还是很简单的。LocalDateTime now = LocalDateTime.now();System.out.println(now);LocalDateTime localDateTime = now.plusMinutes(2).plusHours(1).plusSeconds(30);System.out.println("新时间"+localDateTime);原创 2022-08-16 10:28:30 · 848 阅读 · 2 评论 -
错误: JSON parse error: Cannot deserialize value of type `java.time.LocalDateTime` from String “1971-0
上面的情况是传入的Json对象的时候,进行的格式转换。还有一种情况就是直接传递参数的时候进行的格式转换。原因就是json转换的时候出现的错误。这样前端直接传过来的参数就能够被接收。原创 2022-07-21 09:26:43 · 2713 阅读 · 0 评论 -
自定义一个捕捉异常的jar包,项目中只需要引入就可以直接拦截并做自定义的操作。
写入依赖的标志,这样在其他的微服务中,就可以引入这个异常处理的jar包就可以直接使用了。自定义一个捕捉异常的jar包,项目中只需要引入就可以拦截并做自定义的操作。原创 2022-07-18 13:37:06 · 366 阅读 · 0 评论 -
dubbo向Nacos服务中心注册服务的时候报错:Failed to unregister dubbo://192.168.188.125:20880/com.youming.shuiku.asset
dubbo向Nacos服务中心注册服务的时候报错:我查看了Nacos也已经启动,没有什么问题,就是在注册服务的时候会失败。找了一会也没找到原因,于是换了一个nacos版本试试:原来的:改成2问题解决~。启动成功!...原创 2022-07-13 15:29:02 · 2172 阅读 · 3 评论 -
Failed at the node-sass@4.14.1 postinstall script. npm ERR This is probably not a problem with npm
今天出现错误:解决办法直接在当前目录下进行node-sass 的数据源没设置再次执行1.其他原因使用以下指令:原创 2022-06-10 08:23:02 · 1559 阅读 · 3 评论 -
为什么重写equals时要重写hashcode
大家都知道,equals和hashcode是java.lang.Object类的两个重要的方法,在实际应用中常常需要重写这两个方法,但至于为什么重写这两个方法很多人都搞不明白,以下是我的一些个人理解。这是Object类关于这两个方法的源码,可以看出,Object类默认的equals比较规则就是比较两个对象的内存地址。而hashcode是本地方法,java的内存是安全的,因此无法根据散列码得到对象的内存地址,但实际上,hashcode是根据对象的内存地址经哈希算法得来的。上图展示了Student类的重原创 2022-05-12 08:36:39 · 244 阅读 · 0 评论 -
vm虚拟机cent os开机黑屏怎么解决?解决办法
我在虚拟机安装中遇到很多次黑屏问题现在给兄弟们一些我成功的网上解决的办法。第一种WIN+R CMD(管理员模式运行) 输入netsh winsock reset 重启电脑第二种(1)首先通过任务管理器关闭VM程序(2)WIN+R 输入msconfig(3)选中隐藏所有Microsoft服务,点击全部禁用(4)打开任务管理器点击启动,禁用VM项(5)重启电脑,并重新开启原来被禁用的服务。...原创 2022-04-29 10:10:10 · 2448 阅读 · 0 评论 -
错误(已解决):Last_SQL_Error: Error ‘Can‘t drop database ‘test01‘; database doesn‘t exist‘ on query
Last_SQL_Error: Error ‘Can’t drop database ‘test01’; database doesn’t exist’ on query. Default database: ‘test01’. Query: ‘DROP DATABASE test01’在docker中主从同步的时候产生的:原因是我删除了主库中从库没有的数据库,我也没想到还会导致集群宕机,解决方法就是让指针往下移动:mysql> stop slave;Query OK, 0 rows affe原创 2022-04-24 07:42:00 · 1678 阅读 · 2 评论 -
Linux服务器exit命令显示“there are stopped jobs”
Linux服务器exit命令显示“there are stopped jobs”输入命令exit后显示logoutthere are stopped jobs于是输入命令jobs -l查看所有的挂起job任务进程发现有很多挂起并未正常结束的进程原因是在服务器上测试python3.6时候,未正常退出,而是运用ctrl+z的快捷键退出的解决方法:命令行输入kill -9 <进程号>然后重新查看jobs -l直到状态[1]+ Killed把每个挂起的job都ki原创 2022-04-22 08:18:19 · 1826 阅读 · 0 评论 -
解决linux系统时间不对的,更新时间,cron定时器失效
今天写cron表达式的时候,总是不生效。于是找了下问题:输入date查看时间,发现不对!(当前时间2019/09/06 11:19)时间提前了一天。安装:ntpdate yum install -y ntpdate删除localtime文件rm -rf /etc/localtime拷贝一份过来cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime更新时间ntpdate -u ntp.api.bz在查看时间就改过来啦!..原创 2022-04-21 08:39:15 · 917 阅读 · 0 评论 -
使用maven的tomcat插件时的乱码问题解决,输出时控制台乱码解决
1、get请求乱码(1)首先保证项目的编码一致:(2)然后在pom文件的tomcat插件配置中,加上编码字符集的设置即可<!--tomcat插件--><plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration>原创 2022-03-15 19:12:49 · 1144 阅读 · 1 评论 -
vscode提交修改的时候报错:无法推送 refs 到远端。您可以试着运行“拉取”功能,整合您的更改。
vscode提交修改的时候报错:无法推送 refs 到远端。您可以试着运行“拉取”功能,整合您的更改。可以进行强行推送覆盖覆盖线上版本。git push origin master -f强行推送原创 2022-03-03 08:24:15 · 8757 阅读 · 5 评论 -
错误:Consider defining a bean of type ‘com.xii.eduservice.client.VodClient‘ in your configuration. 原因
错误:Consider defining a bean of type ‘com.xii.eduservice.client.VodClient’ in your configuration.1.接口中写了@Component注解 但是报错找不到该类可能的原因:1.所在的包不在主启动类同级别或者同级别的包的子目录中2.因为接口类启用了调用服务的feign组件 在启动类上没有开启feign的服务 注解:@EnableFeignClients注意看下调用的服务名是否写错。...原创 2022-02-28 08:37:49 · 430 阅读 · 0 评论 -
springmvc 测试报错Error creating bean with name ‘mvcContentNegotiationManager‘ Servlet.initServletBea
springmvc 测试报错错误:警告: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘mvcContentNegotiationManager’: Failed to introspect bean class原创 2022-02-27 14:30:54 · 1015 阅读 · 0 评论 -
使用mybatis实现递归查询,mybatis递归查询
由于部门的层级不可控,因此如果我想要获取所有部门的完整json的话,就要采用递归调用,这里的递归调用我们可以利用MyBatis的ResultMap中的collection实现,核心代码如下<resultMap id="BaseResultMap" type="org.sang.bean.Department"> <id property="id" column="id"/> <result column="name" property="name"/>原创 2022-02-16 15:43:37 · 5844 阅读 · 7 评论 -
MySQL之Field‘***’doesn’t have a default value错误解决办法
MySQL之Field‘***’doesn’t have a default value错误解决办法手上负责的一个项目在用户注册的时候会报错,找了下原因是因为字段没有默认值,我本地环境 mysql5.5 没有问题,test 环境是mysql5.6,通过查资料知道了原来跟 my.ini 的配置有关。解决方案:打开 my.ini,查找sql-mode=“STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION”去掉 STRICT_原创 2022-02-14 15:14:34 · 4385 阅读 · 0 评论 -
为什么覆盖equals()方法的时候,必须要覆盖hashCode()方法
为什么覆盖equals()方法的时候,必须要覆盖hashCode()方法注:JDK版本:1.8.0_251首先,我们来看一下在Object类中,这两个方法是是干嘛的,现贴出代码: 在Object类中, equals方法进行相等比较,是用 == 号对两个对象进行比较。我们知道,在Java中,==比较,如果不是基本数据类型的话,其实比较的是两个对象的内存地址,我们再看看Object类的hashCode()方法: 这个方法呢,它是一个native方法,这个方法会返回当前对象的哈希散列码。OK,现原创 2022-02-13 15:06:40 · 351 阅读 · 0 评论 -
JS字符串转换为JSON的四种方法
JS字符串转换为JSON的四种方法1、jQuery插件支持的转换方式:示例:$.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象2、浏览器支持的转换方式(Firefox,chrome,opera,safari,ie)等浏览器:示例:JSON.parse(jsonstr); //可以将json字符串转换成json对象JSON.stringify(jsonobj); //可以将json对象转换成json对符串原创 2022-01-18 09:16:13 · 34524 阅读 · 0 评论 -
码云配置SSH公钥,实现免密码登录(码云是远程仓库,这一步挺重要的。)
码云要识别我们登录的电脑,所以要进行配置第一步:找到自己的.ssh文件夹在git执行命令ssh-keygen -t rsa回车就可以了然后在当前目录下会生成两个文件打开pub后缀的文件,将内容粘贴到码云中点击确定 这样就添加成功啦。...原创 2022-01-14 09:34:22 · 476 阅读 · 0 评论 -
Web工程设置默认启动页面 Java web工程设置默认启动页面是通过web.xml文件来配置的。具体配置如下:
Web工程设置默认启动页面Java web工程设置默认启动页面是通过web.xml文件来配置的。具体配置如下:在web-INF下找到web.xml进入配置文件:添加: <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list>login.jsp就是你设置的启动页面。就可以了...原创 2021-12-29 08:49:36 · 4030 阅读 · 0 评论 -
java.lang.NoSuchFieldException: userId报错原因
原因是没有这样的属性可以访问,反射的时候取不到这个名为ID的属性我是再访问数据库的时候遇到的,查看自己实体类的属性名和数据库是否一致。可以将sql查询语句 使用 AS 将数据库字段变成类的字段,解决字段不统一的问题。...原创 2021-12-28 08:25:55 · 2723 阅读 · 0 评论 -
getRequestDispatcher()请求转发与sendRedirect()重新定向的区别
1.request.getRequestDispatcher()是请求转发,前后页面共享一个request ;response.sendRedirect()是重新定向,前后页面不是一个request。request.getRequestDispather();返回的是一个RequestDispatcher对象。2.RequestDispatcher.forward()是在服务器端运行;HttpServletResponse.sendRedirect()是通过向客户浏览器发送命令来完成.所以Requ原创 2021-12-24 08:47:42 · 439 阅读 · 0 评论 -
详细分析 equals和==的区别以及 intern() 方法返回字符串对象的规范化表示形式。
intern() 方法返回字符串对象的规范化表示形式。输出中调用intern方法并没有什么效果,但是实际上后台这个方法会做一系列的动作和操作。在调用”ab”.intern()方法的时候会返回”ab”,但是这个方法会首先检查字符串池中是否有”ab”这个字符串,如果存在则返回这个字符串的引用,否则就将这个字符串添加到字符串池中,然会返回这个字符串的引用。可以看下面一个范例:String str1 = "a";String str2 = "b";String str3 = "ab";String st原创 2021-12-22 15:47:06 · 168 阅读 · 0 评论