![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA基础篇
文章平均质量分 62
moxiaoran5753
山重水复疑无路,柳暗花明又一村。很多时候,面对一些疑难问题,时常我们会一筹莫展,但是只要不放弃,坚持不懈去尝试,最终问题必然能迎刃而解,同行共勉!本博客主要记录自己工作中遇到的问题,如果没有及时回复,还请见谅。
展开
-
Java中BigDecimal的用法
BigDecimal的用法转载 2022-11-21 11:18:29 · 1120 阅读 · 0 评论 -
详解synchronized与Lock的区别与使用
###引言:昨天在学习别人分享的面试经验时,看到Lock的使用。想起自己在上次面试也遇到了synchronized与Lock的区别与使用。于是,我整理了两者的区别和使用情况,同时,对synchronized的使用过程一些常见问题的总结,最后是参照源码和说明文档,对Lock的使用写了几个简单的Demo。请大家批评指正。技术点:1、线程与进程:在开始之前先把进程与线程进行区分一下,一个程序最少需要一个进程,而一个进程最少需要一个线程。关系是线程–>进程–>程序的大致组成结构。所以线程是转载 2022-03-27 10:35:51 · 272 阅读 · 0 评论 -
Java在共享文件夹创建目录并上传文件
/** * * @param localFilePath 要上传到共享文件夹的本地文件(需指定绝对路径) * @param datePath 日期分割符,用于在共享文件夹新建目录 */ public static void upload(String localFilePath,String datePath) { InputStream in = null; OutputStream out = null; ...原创 2021-06-09 20:33:20 · 676 阅读 · 0 评论 -
Could not initialize class MappingJackson2HttpMessageConver问题的解决
访问项目时,系统报了这么一个错:org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]: Constructor threw exception; nested exception is java.lang.NoClass原创 2021-04-07 18:56:46 · 1275 阅读 · 1 评论 -
JSON解析之别名的使用
通过定义别名,更灵活定义属性,从而方便读取和解析,然而,解析工具的不同,所使用的注解也不一样。下面列举3种常用JSON解析工具在实体类属性名上的定义:1.Gson @SerializedName("idcard") private String idcardNo;2.fastJson @JSONField(name="idcard") private String idcardNo;3.JackSon @JsonProperty("idcard") private S..原创 2020-10-24 16:31:28 · 5363 阅读 · 0 评论 -
使用Graphics2D 绘制图片时中文乱码问题的解决
今天偶然发现,使用Graphics2D绘制的图片中文部分全部不能正常显示,而是显示成一个个口口口。如下图:之前都是好好的,该部分代码未曾作过修改。怎么会变成这样了呢?头一回遇到这种问题,一时无辙。只好上网搜索。经过排查,联想到前段时间将服务器更换为阿里云,终于明白一二。原来我新换的服务器linux系统里没有宋体(simsun.tff)这种字体,所有画图时所有中文都用方框来代替了。明白的缘由,那么就是把字体补齐。我先到我电脑上把字体找到,windows电脑字体一...原创 2020-09-21 15:03:24 · 3840 阅读 · 0 评论 -
Tomcat 9错误:.Invalid character found in the request target. The valid characters are ...问题解决方法
解决Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 问题出现这个问题的原因如下:经了解,这个问题是高版本tomcat中的新特性:就是严格按照 RFC 3986规范进行访问解析,而 RFC 3986规范定义了Url中只允许包含英文字母(a-z...转载 2020-04-28 09:40:37 · 11295 阅读 · 2 评论 -
Java配置log4j实现发送错误日志到邮箱中
使用背景: 作为系统管理员和运维人员,当系统运行中遇到异常,应第一时间掌握有关情况,并尽快修复。当我们不在工作岗位上时,异常产生而我们后知后觉,待到客户反映给我们,那是相当的糟糕。那应该怎么做呢?我的做法是借助log4j的发送邮件功能。第一步,引入相关jar,我使用jar是以下两个:llog4j-1.2.17.jar,mail.jar关于jar的引用,这里多说一句,其一:据前辈...原创 2020-04-26 16:13:29 · 716 阅读 · 0 评论 -
Gson解析时间时报com.google.gson.JsonSyntaxException异常问题的解决
在进行项目迁移时,在原服务器中进行数据上传时没问题,迁移到新服务器时却报如下异常:exceptionorg.springframework.web.util.NestedServletException: Request processing failed; nested exception is com.google.gson.JsonSyntaxException: 2019-07-...原创 2020-03-30 14:20:08 · 3007 阅读 · 0 评论 -
没有闭合(结束)标签XML文件的解析
先上XML文件:RESULT_INFO> PATIENT> origin value="XX科技公司" /> id value="1234568" /> name value="李四" /> sex value="男" /> age value="20" /> exmatime val原创 2018-01-27 11:20:33 · 8900 阅读 · 0 评论 -
toString()、new String()和(String) 、String.ValueOf()的区别
先来看段代码:String str="hello";String base64Encoded=Hex.encodeToString(str.getBytes());String str2=new String(Hex.decode(base64Encoded)); String str3=(Hex.decode(base64Encoded)).toString(); //str3的值...原创 2018-07-16 13:47:40 · 3985 阅读 · 0 评论 -
Java基于Jxls 1.x导出Excel
第一步:准备工作:下载所需jar.核心jar: jxls-core-1.0.6.jar依赖jar: poi-3.10-FINAL.jar依赖jar: poi-ooxml-3.10-FINAL.jar依赖jar: commons-jexl-2.0.1.jar依赖jar: commons-beanutils-core-1.8.3.jar依赖jar: comm...原创 2019-07-05 13:34:08 · 791 阅读 · 0 评论 -
关于break、continue和return使用场景的一点个人感悟
break只能用于循环或switch中 continue只能用于循环 return 用于没有没有返回值的方法中,中止代码的往下执行,或用于带返回值的方法中返回指定的值供外界调用,如果一个方法带返回值,在满足指定条件下,不想程序往下走,此时是不能使用return;来中止程序的往下执行,只能使用if判断满足指定条件才执行指定的代码块来防止程序出错。...原创 2019-07-09 08:47:44 · 433 阅读 · 0 评论 -
对float类型的数据的处理
需求在对于数据的处理方面,我们有时候会碰到取整,或者保留两位小数等等。比如,我们要对'数量'这一列取整,由32.00变成32;对金额这一列保留两位小数,由32.12463 ...变成32.12;JSTL表示:前提:<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>代码:...转载 2019-06-11 14:01:31 · 954 阅读 · 0 评论 -
JAVA配置环境变量
1.右击桌面上的“计算机”图标--属性--高级系统配置--环境变量2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0变量名:CLASSPATH 变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;转载 2017-11-18 11:29:32 · 164 阅读 · 0 评论 -
WebService入门简单示例
一、准备工作 开发工具:myeclipse 10.7.1以上版本; JDK:jdk1.6以上版本;二、创建服务端1、创建【Web Service Project】,命名为【TheService】。 2、创建【Class】类,命名为【ServiceHello】,位于【com.hyan.service】包下。转载 2017-11-18 11:36:11 · 234 阅读 · 0 评论 -
Lombok 安装、入门 - 消除冗长的 java 代码
Lombok 安装、入门 - 消除冗长的 java 代码前言: 逛开源社区的时候无意发现的,用了一段时间,觉得还可以,特此推荐一下。 lombok 提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 java 代码。特别是相对于 POJO,光说不做不是我的风格,先来看看吧。lombok 的官方网址:http://projectlombok.org/ lombok 其实到...转载 2018-03-16 14:05:47 · 130 阅读 · 0 评论 -
带特殊符号|的字符串的截取
如下,该字符串中含有特殊符号“|”,截取时需进行转义,否则将会导致字符串不是自己想要的。代码如下:String str = "SX0074_1\SX0074_3|SX0074_8";String[] strs=str.split("\\|");这样就可以将用“|”隔开的3个字符截取出来:SX0074_1 SX0074_3 SX0074_8如果是在js中截取,则有所区别,只加一条反斜杠即可,如:...原创 2018-03-02 17:58:19 · 2671 阅读 · 0 评论 -
由transient关键字所想到的
我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,比如:平时我们在Java内存中的对象,是无 法进行IO操作或者网络通信的,因为在进行IO操作或者网络通信的时候,人家根本不知道内存中的对象是个什么东西,因此必须将对象以某种方式表示出来,即存储对象中的状态。以便进行IO操作或者网络通信。一个Java对象的表示有各种各样的方...转载 2018-07-12 10:51:43 · 166 阅读 · 0 评论 -
解决Eclipse中无法直接使用sun.misc.BASE64Encoder及sun.misc.BASE64Decoder的问题
一直以来Base64算法的加密解密都是使用sun.misc包下的BASE64Encoder及BASE64Decoder来进行的。但是这个类是sun公司的内部方法,并没有在Java API中公开过,不属于JDK标准库范畴,但在JDK中包含了该类,可以直接使用。但是在Eclipse和MyEclipse中直接使用,却找不到该类。解决方案:第一步:在使用sun.misc包下的API的项目上右键选择Bu...原创 2019-01-01 15:59:12 · 344 阅读 · 0 评论 -
druid连接池的配置详解
druid介绍 druid是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池(据说是目前最好的连接池,不知道速度有没有BoneCP快)。 配置参数 和其它连接池一样DRUID的DataSource类为:com.alibaba...转载 2019-01-02 13:18:41 · 223 阅读 · 0 评论 -
@WebServlet写的接口找不到
今天用@WebServlet注解写了个接口,因为实在不想用servlet的方式了。写好后调试,一直报404,找不到入口,反复查找了下,接口名没写错,又去看了web.xml,我的是3.0版本的,xsi:schemaLocation=“http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd”...原创 2019-01-27 17:47:32 · 2170 阅读 · 0 评论 -
移除list集合中指定对象
1.使用了list.remove(obj),没有效果;2.使用了removeAll也不起作用: List<User> userRemove = new ArrayList<User>(); //找出要删除的用户 for (User result : list) { if (result.getId...原创 2019-03-01 15:35:05 · 20747 阅读 · 2 评论 -
关于Map、Set、list集合需要注意的地方
一、非空判断://如果object为null,则设置为defaultValueObjectUtils.defaultIfNull(object, defaultValue);//判断集合是否为nullList<String> list=new ArrayList<String>();System.out.println(list.isEmpty()); //tr...原创 2019-04-30 11:58:32 · 240 阅读 · 0 评论 -
list集合移除指定元素
场景:使用for循环删除集合中的指定元素定义一个list集合,并添加数据:List<String> list=new ArrayList<>();list.add("b");list.add("e")list.add("b");list.add("c");需求:删除该集合中所有字符串为b的数据,代码如下:for (int i = 0; i...转载 2019-06-14 14:40:17 · 28636 阅读 · 0 评论 -
Java开发中常用英语词汇积累
layout:布局,安排,设计; 布置图,规划图;migration:迁移,移居;outlet:出口,出路,发泄情绪;Credentials : 证书; 凭证,用于shiro登录验证用户名和密码Retry :重试,重审,用于登录时控制密码重输次数authentication token : 认证令牌Principals(身份):是Subject 的‘identifying ...原创 2017-07-13 16:03:22 · 290 阅读 · 0 评论