java问题
喵喵先森
作为一名程序员,我对编程充满热情并追求卓越。我专注于Web开发和后端系统设计,并在这个领域中积累了丰富的经验。
展开
-
nacos中cluster.conf读取解析记录
在源码中读取集群配置记录是在 com.alibaba.nacos.core.listener.StartingApplicationListener 的 contextPrepared 方法中发起的那这个StartingApplicationListener 是怎么被调用的呢,我们可以看到这个StartingApplicationListener 实现了 NacosApplicationListener 接口,但是谁调用了它呢从idea 的5个usages帮我们看到这里 ,这个启动监听类有5个没调用原创 2022-07-11 11:19:08 · 1402 阅读 · 0 评论 -
面试:fail-fast 和 fail-safe区别
fail-fast和fail-safe比较Iterator的安全失败是基于对底层集合做拷贝,因此,它不受源集合上修改的影响。java.util包下面的所有的集合类都是快速失败的,而java.util.concurrent包下面的所有的类都是安全失败的。快速失败的迭代器会抛出ConcurrentModificationException异常,而安全失败的迭代器永远不会抛出这样的异常。...原创 2021-05-23 22:21:46 · 204 阅读 · 0 评论 -
面试:Arrays.asList 获得的 List 使用时需要注意什么?
Arrays.asList的源码:public static <T> List<T> asList(T... a) { return new ArrayList<>(a); // Arrays的内部ArrayList类实现,java.util.Arrays.ArrayList,而不是java.util.ArrayList}这个内部类如下:/** * @description 内部实现 */private static class原创 2021-05-23 20:30:38 · 244 阅读 · 0 评论 -
面试:DCL单例需不需要加volatile关键字?
首先,讲一下什么是单例模式?单例模式,简单理解就是在程序运行期间有且只有一个实例对外访问。单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。最简单的单例模式为:/** * @author yangpengfei * @descr原创 2021-05-23 12:00:02 · 272 阅读 · 7 评论 -
面试:hashmap 的线程安全 解决方案
有以下方案:Hashtable ConcurrentHashMap SynchronizedMap原创 2021-05-16 20:29:25 · 173 阅读 · 1 评论 -
面试:java的集合类你了解多少?
当被问到这个问题时,我心里想的是集合么,不就是 set 、map 、list那一套接口吗,所以脱口而出 回答就是 set集合、map集合、list集合,嗯嗯就这些。后面被问题set 集合与list集合有什么不同?我想了想,1、首先是set是无序的,set 是不重复的数据,只能存放一个null;list可以是有序的,可以有重复值,可以有多个null;2、set实现类hashset 就是按照 hashmap的key位置作为数据存放的,这样就可以理解为为啥是无序的,不重复的,它本质理解上就是按照.原创 2021-05-14 18:26:22 · 185 阅读 · 0 评论 -
面试:关于接口和抽象类的区别
今天遇到的一个面试题,接口和抽象类的区别是什么?我的回答:我的回答就不发了,说不出口。回来查了一下,答案如下:相同点:1、都可以定义属性和方法2、都是特殊的类,都需要子类来操作具体的逻辑3、都没有抽象方法4、都不能创建对象5、都可以利用多态操作数据6、子类必须实现里面的抽象方法7、java1.8以后,都可以拥有带方法体的方法不同点:1、接口可以被子类对实现,但是抽象类由于java本身的特性只能单继承;2、抽象类的方法,可以用protect修饰,接口只.原创 2021-05-14 16:52:48 · 352 阅读 · 0 评论 -
Processing of multipart/form-data request failed记录一次异常
第一次遇到这种情况,但是不知道怎么解决2021-04-23 23:39:01-[ERROR]-[http-nio-43000-exec-8]-[org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet]]-[175]-Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exceptio.原创 2021-04-23 23:49:14 · 2540 阅读 · 2 评论 -
redis 知识复习
1、缓存雪崩指的是部分缓存的key,设置了相同的过期时间,在还没有重新加载这部分缓存的时候,如果这时候有大量的请求访问时,从缓存里面查不到数据,请求就会转嫁到底层数据库上,过量的请求,会对数据库服务器的CPU和内存读写造成极大的压力,严重的情况下造成了数据库服务宕机。从而形成一系列连锁反应,造成整个系统崩溃。2、缓存穿透指的是原本数据库不存在的数据查询,从缓存查不到,在从数据库查询还是...原创 2020-05-07 15:20:52 · 176 阅读 · 0 评论 -
spring boot 启动提示invalid LOC header (bad signature)的解决办法
今天做项目遇到了invalid LOC header (bad signature),百度查了一下,原因是MAVEN本地仓库中的对应的某个jar没有下载完全,删除后,进行maven-update project,重新下载,重新下载完成后重新启动无误...原创 2019-01-04 12:50:29 · 24737 阅读 · 6 评论 -
spring-clound 学习-微服务的简述
微服务是什么?微服务架构风格是一种将单个应用程序作为一套小型服务开发的方法,每种应用程序都在自己的进程中运行,并与轻量级机制(通常是HTTP资源API)进行通信。 这些服务是围绕业务功能构建的,可以通过全自动部署机制独立部署。 这些服务的集中管理最少,可以用不同的编程语言编写,并使用不同的数据存储技术。单体架构是我们通常使用的mvc架构,所有的业务子系统都在这一个应用程序中。这种模式的...原创 2019-01-06 11:32:45 · 431 阅读 · 6 评论 -
spring cloud eureka server 搭建过程记录
1、创建一个maven父级项目,项目的pom如下:在父级项目中引入spring cloud 的版本控制,引入的方式参考了spring cloud 版本不是以版本号定义的,spring cloud 是很多组件的集合体,每个个体组件都有自己的版本更新,所以spring cloud 最后决定以英国的城市名为版本号。详细的pom配置如下:<?xml version="1.0" ...原创 2019-01-18 11:22:26 · 240 阅读 · 0 评论 -
讲讲String、StringBuilder、StringBuffer之间的区别
1、三者的本质上的不同1)、String是字符串常量,因其添加了final关键词修饰,不能被其他类所继承,不能被代理,所以是不可变类;2)、StringBuffer、StringBuilder是字符串变量。2、对于操作大规模的字符串数据时,三者的性能比是:StringBuilder > StringBuffer > String。1)、String类操作数据本质上...原创 2019-01-25 01:04:26 · 602 阅读 · 0 评论 -
面试题:请实现一个算法,返回一个数组,该数组是移除了原数组中的重复元素,并保持元素的顺序。例如:输入:[2,1,2,3],输出:[2,1,3]。
实现方式package cn.cnsy123.test;import java.util.Arrays;/** * @author yangpengfei * <p>email:yangpengfei360@126.com</p> * @version 1.0 * @date 2018-03-12 17:40:00 * @description 请实...原创 2019-03-12 17:42:06 · 2119 阅读 · 0 评论 -
面试题:卡拉兹(Callatz)猜想
package cn.cnsy123.test;/** * @author yangpengfei * <p>email:yangpengfei360@126.com</p> * @version 1.0 * @description 对任何一个自然数n,如果它是偶数,那么把它砍掉一半; * 如果它是奇数,那么把(3n+1)砍掉一半。 * 这样一直反复砍下去...原创 2019-03-12 18:20:34 · 2638 阅读 · 0 评论 -
说说java中异常的分类
异常父类为Throwable,其实现类描述了java的错误和异常。分为Error、Exception两大种。其中Error不是代码处理的,一般有对应的硬件处理此类错误;Exception分为运行时异常、非运行时异常异常一般由try-catch-finally代码块捕获其异常try部分包裹业务代码块,catch分支捕获异常,任何一个catch获取了异常,后面的都不在进行捕获,...原创 2019-06-05 17:44:03 · 560 阅读 · 0 评论 -
maven私服之NEXUS学习搭建过程
1、下载nexus-3.12.1-01-unix.tar.gz没有的可以在这儿下载:(官网)https://sonatype-download.global.ssl.fastly.net/nexus/3/nexus-3.12.1-01-unix.tar.gz(CSDN)https://download.csdn.net/download/qq_19854013/105071932、...原创 2019-08-29 14:27:55 · 5196 阅读 · 0 评论 -
关于学习获取本机局域网之内的IP地址
这个方法获取的IP地址为比如你的局域网是192.168.1.1-192.168.1.255之间的你的电脑的IPpublic static String getIpAddress() { try { Enumeration allNetInterfaces = NetworkInterface.getNetworkInterfaces(); InetAdd转载 2016-12-20 13:44:31 · 485 阅读 · 0 评论 -
rabbitmq连接出错,记录一下
Exception in thread "main" java.io.IOException at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:124) at com.rabbitmq.client.impl.AMQChannel.wrap(AMQChannel.java:120) at com.rabb...原创 2018-10-25 14:52:27 · 7452 阅读 · 1 评论 -
hibernate注解学习笔记
创建Hibernate运行环境Configuration configuration = new Configuration ();ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry(...原创 2018-10-25 10:40:20 · 145 阅读 · 0 评论 -
Java连接MySQL可能的一些异常问题
问题一:Java连接MySQL数据乱码1.首先配置MySQL安装时的编码为utf8,查看MySQL的my.ini配置文件,编码是否为utf82.将jsp文件头设置成为utf-8格式,3.连接MySQL时,指定使用编码为utf-8,在获取connection时连接URL地址后加入useUnicode=true和characterEncoding=utf-8,4.将字符串设置成ut原创 2017-05-29 21:51:33 · 2178 阅读 · 0 评论 -
java学习-list集合有泛型情况添加多种类型数据
//来自一道面试题的分析,大概的意思是,如果让你在集合中增加不同类型的数据,你会怎么做?package cn.cnsy123.ypf.thread.test;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.util.ArrayList;p原创 2017-02-26 15:49:54 · 33996 阅读 · 9 评论 -
java知识-自定义异常类
学习自定义异常抛出属于每个java程序工作者的必备技能,分享一些学习经验,大家一起进步原创 2017-02-26 15:35:54 · 490 阅读 · 0 评论 -
关于java定时器的比较
java.util.Timer一种工具,线程用其安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行。 举例:Timer timer = new Timer();timer.schedule(new MyTimerTask(), new Date(), 60*60*1000);class MyTimerTask extends TimerTask{ private sta原创 2016-12-20 13:47:19 · 520 阅读 · 0 评论 -
关于java调用webservice的方式学习
这个属于在我的学习能力范围内,调用webservice的方式,还有其他的比如cxf,xfire等,应该都需要接口提供接口class类文件;String serviceURL = "http://localhost/Service1.asmx";Service service = new Service();Call call;try {call = (Call)原创 2016-12-20 13:40:06 · 277 阅读 · 0 评论 -
wsdl4j解析webservice的wsdl-根据webservice地址查询接口方法名称
最近研究了关于webservice的解析wsdl的问题,希望对各位有些帮助;import java.util.Iterator;import java.util.List;import java.util.Map;import javax.wsdl.Binding;import javax.wsdl.Definition;import javax.wsdl.Inpu原创 2016-12-20 13:35:14 · 5243 阅读 · 0 评论 -
response输出中文出现“??”的问题
首先,response返回有两种,一种是字节流outputstream,一种是字符流printwrite。我是一名程序员菜鸟,在公司出现了response输出乱码问题;我的代码是:HttpServletResponse response = ServletActionContext.getResponse();PrintWriter out = response.getWriter转载 2016-11-02 09:03:32 · 2186 阅读 · 0 评论 -
tomcat的get请求设置编码
要设置GET的编码,可以修改server.xml文件中,相应的端口的Connector的属性:URIEncoding="UTF-8",这样,GET方式提交的数据才会被正确解码。 connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />转载 2016-11-06 13:37:56 · 2548 阅读 · 0 评论 -
Struts2常用配置信息
struts2常用配置信息1. struts2依赖的最小jar包核心包, struts2-core-x.x.x.jar核心类库,xwork-core-x.x.x.jarOGNL表达式,ognl-x.x.x.jar对象图导航语言,freemarker-x.x.x.jar日志包,commons-logging-x.x.x.jar文件上传组件包,commons-fileupl原创 2017-05-30 08:34:12 · 772 阅读 · 0 评论 -
web项目中的mvc模式理解
MVC的理解概念:MVC是一种软件工程中的一种软件架构模式,把软件系统划分为三个基本结构部分,分别是模型(model)、试图(view)、控制器(controller),简称为MVC;MVC是一种软件设计的典范。MVC模式在b/s架构下基本都使用了这种模式;其中,模型(model):模型就是业务流程、业务状态的处理、业务规范的规定。模型接受视图数据的请求,并返回最终的处理结果。原创 2017-05-30 09:10:55 · 5373 阅读 · 0 评论 -
Java中计算程序运行耗时的方法对比
Java中测试程序代码运行时间的方式有两种:第一种:以毫秒为单位计算的。long startTime=System.currentTimeMillis();//下面是一些测试代码for(int i=0;iSystem.out.println("当前是:"+i);}long endTime=System.currentTimeMillis();System.out原创 2017-05-30 09:25:44 · 24469 阅读 · 2 评论 -
JAVA中String类的split方法的易错点
最近在项目中遇到了一个问题,就是解析字符串成数组进行比对的,比如: { "imageDetail": "123&234&&", "imageType": "O&A&B&C" }imageType与imageDetail数据属于一一对应关系,方案一:split(&q原创 2018-07-12 09:35:26 · 443 阅读 · 0 评论 -
记录错误:No qualifying bean of type [com.xxx.xxxxxxService] found for dependency:expected at least 1 bea
No qualifying bean of type [com.xxx.xxxxxxService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframewo...原创 2018-07-23 15:18:22 · 4535 阅读 · 4 评论 -
SpringMVC与Struts2的主要区别
SpringMVC与Struts2的主要区别:1.入口拦截方式不同:springMVC是基于servlet方式,即前端控制器方式;Struts2是基于过滤器Filter方式。2.设计方向不同:springMVC是基于方法层面来实施的,类对象可以是单例的也可以是多例的;struts2是基于类对象层面实施的,所以只能是多例模式3.Struts采用值栈存储请求和响应的数据,通过OGNL存取数原创 2018-02-04 21:49:11 · 564 阅读 · 1 评论 -
SpringMVC解决中文在tomcat传输乱码问题
1.在web.xml中配置filter,org.springframework.web.filter.CharacterEncodingFilterspring中配置中文、字母、数字等参数信息的编码方式2.在tomcat的conf/server.xml中配置,ConnectorURIEncoding="编码方式"防止中文乱码原创 2018-02-04 21:42:41 · 477 阅读 · 0 评论 -
SpringMVC工作流程
SpringMVC工作流程:1.在浏览器端发起http请求到网站应用中,2.被核心控制器(dispatcherServlet)捕获,核心控制器调用处理器映射器HandlerMapping,匹配对应得处理器,3.处理器映射器HandlerMapping转发到处理器拦截器,返回HandlerExceptionChain对象4.通过处理器适配器HandlerAdapter,找到具体的处理原创 2018-02-04 21:38:34 · 2171 阅读 · 0 评论 -
quartz学习笔记
1.定时任务quartz概况quartz是一个任务调度框架,通过触发器设置作业的定时运行规则,来执行定时任务。相当于数据库中的 Job、Windows 的计划任务、Unix/Linux 下的 Cron,但 Quartz 可以把排程控制的更精细。把一系列任务自动安置到一个作业中,然后再为这个作业创建一个调度器,到时这个作业就会自动执行了。2.定时任务quartz主要用到的设计模式原创 2018-02-02 16:48:45 · 251 阅读 · 0 评论 -
Could not determine current working directory
输入java -version竟然出现以下错误:java.lang.Error:Properties init: Could not determine current working directory原因是你所在的cmd命令中当前目录不存在了,java找不到一些(例如:你当前操作的目录,即工作空间),所以就GG了,切换目录就好了,当然是有效的目录;原创 2017-11-24 10:23:27 · 14202 阅读 · 2 评论 -
MAVEN配置
我使用的版本是Apache-maven-3.0.5,下载Apache-maven-3.0.5-bin.zip,下载地址是:http://apache.fayea.com//maven/maven-3/3.0.5/binaries/apache-maven-3.0.5-bin.zip将其解压缩到任意目录,目录中不容许中文存在,我的目录是D:\CommonSoft\apache原创 2017-05-30 19:29:07 · 296 阅读 · 0 评论 -
关于Bad version number in .class file的问题共享
当项目部署到tomcat后,tomcat启动时报错:Bad version number in .class file原因是编译java时生成的class文件,在运行时用到的JRE和class文件版本不一致造成的。例如JRE是1.5,编译的JDK是1.6。1)这时候首先确认eclipse的编译JDK版本:然后可以点击菜单Project->clean来重新编译整个项目转载 2016-11-05 16:58:03 · 208 阅读 · 0 评论