- 博客(31)
- 收藏
- 关注
原创 从CAP角度区分Zookeeper、Eureka、Consul和Nacos
在微服务架构中,服务与服务之间存在着相互调用,比如A服务要调用B服务,但是如何拿到B服务的入口呢?这就用到注册中心了,B服务将自己的实例信息注册到注册中心上,然后服务A就去注册中心上获取服务B的信息,就可以调用了。
2023-03-16 17:21:21
857
原创 Dubbo调用之MultipartFile无法序列化问题
Dubbo调用传输的必须是序列化(implements Serializable)的,MultipartFile类型无法序列化,所以报错。
2023-02-27 17:34:52
1581
转载 一篇带你读懂【单例模式】
在程序中多次使用同一个对象且作用相同时,为了防止频繁创建对象使内存飙升,单例模式让程序在内存中只创建一个对象,让所用需要调用的地方共享这一单例对象
2023-02-15 14:04:34
307
原创 多线程中,run方法报错是否会影响到主线程?
在程序执行时,首先执行main主线程的同时,创建执行子线程,此时主线程与子线程同时执行,当主线程执行结束时,子线程继续执行。
2022-08-07 16:02:52
659
转载 解决gateway跨域重复CORS问题
现象: 当你在配置完成跨域请求后: @Configuration public class GatewayCorsConfiguration { @Bean public CorsWebFilter corsWebFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); CorsConfiguration cors...
2022-01-07 10:50:55
1609
原创 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Web页面报错500:org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 解决方案: 打开Project Structure 2.此时所有的jar包都到了lib下
2021-10-03 14:22:19
8636
9
原创 Servlet原理
代码案例: <!--将servlet注册到web容器中--> <servlet> <servlet-name>MyServlet_01</servlet-name> <!--全限定类名:包名+类名--> <servlet-class>com.ujiuye.servlet.MyServlet_01</servlet-class> </servlet> <!--给已注
2021-09-27 20:08:19
196
原创 接口和抽象类区别
相同: 都不能实例化。 不同: 属性: 接口的属性只能被public static final修饰; 抽象类属性任意; 构造方法: 接口不可定义(因为属性被final修饰属性值不可更改) 抽象类可以定义。 方法: 接口只能定义抽象方法,方法默认被pu...
2021-09-13 20:35:22
132
转载 多线程间是如何共享数据的?
说明: Java里面进行多线程通信的主要方式是:共享内存。 共享内存主要的关注点有两个:可见性和有序性原子性。 JVM解决了可见性和有序性问题,锁解决了原子性问题。 理想情况下我们希望做到“同步”和“互斥”:实现方法如下 1.将共享的数据抽象成一个类,并将数据的操作作为这个类的方法。 优点:这种设计容易做到同步,只要在方法上用“synchronized”修饰即可。 MyData.java(数据类) public class...
2021-09-10 19:28:32
1358
3
原创 HashSet存储自定义类型元素去重原理
HashSet是用Hash算法实现存取对象,所以每个对象都有自己的hashCode; 1.当存储自定义类型元素时,在类中必须重写hashCode()和equals()方法: 将hashCode()方法重写为属性相同的对象值返回值一样,属性不同的返回值不一样; 将equals()方法重写为属性相同时返回true,属性不同时返回false。 2.存取对象时,HashSet会调用对象的hashCode来比较Se...
2021-09-10 16:02:03
602
原创 Set集合中TreeSet的有序问题
众所周知,在集合中,Set集合是无序、无索引、不可重复的,但其中有一个子类是有序的,那就是TreeSet,TreeSet的底层使用的是TreeMap实现。 代码案例: import java.util.Set; import java.util.TreeSet; public class Test { public static void main(String[] args) { Set<Person> set = new Tr...
2021-09-10 15:53:03
960
原创 String与StringBuilder的传参问题
问题: 众所周知,如果传递的是一个引用类型,传递的是引用地址,而不是对象本身,所以方法对这个引用修改,会影响原值。 String是一个引用类型,但是将它传递给方法后,原值并没有受到影响。 public class Test02 { public static void main(String[] args) { String str = "abc"; change(str); System.out.println...
2021-09-09 19:54:05
575
原创 多线程-守护线程Daemon的结果输出问题
代码案例: package com.study.enety.demo41; import java.io.*; public class Test02 { public static void main(String[] args) { Thread t1 = new Thread() { public void run() { while (true) { System.out.
2021-09-08 16:13:42
160
原创 多线程下执行的printStackTrace()
代码案例: package com.study.enety.demo40; import java.util.Scanner; public class Test03 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //如果输入的除数为0,则抛出异常 try { int x = sc.nextInt();
2021-09-08 10:02:26
345
原创 NumberFormat
概述: 所有数据格式的抽象基类,用于格式化和解析任何语言环境的数值。 特点: 1.java.text包。 2.该类时抽象类,不能创建对象。 3.提供了表示数字的不同格式。 创建解析格式对象方法: 1、public static final NumberFormat getInstance():返回当前默认环境的通用数值格式 2、public static final NumberFormat ...
2021-08-30 19:02:13
178
原创 集合-Comparator和Comparable比较器使用
说明: 1.Comparator和Comparable都是用来比较数据的接口。 2.排序方式相同。 方法: compare(Object o1, Object o2) o1:集合中的数据,o2:即将添加的数据。 compareTo(Person p) 返回值为0,添加的元素重复,去重。 返回值为-1,添加的元素比较大,放在右子树。 ...
2021-08-28 16:16:15
370
原创 IO-为什么InputStream的read()方法返回值为int类型
字节输入流InputStream可以读取任何类型的文件,这些文件的底层都是以二进制形式存储。 如果每次读取都读取到byte,有可能在读取中途遇到11111111,那么11111111在byte类型中表示-1,程序在遇到-1就会停止不读了,后面的数据就读不到了,所以读取的时候用int类型接收,在每个字节前补24个0,凑够4个字节(一个int类型占4个字节),那么byte类型的-1就会变成int类型的255了,这样就可以保证整个数据读取完,而结束标记的-1就是int类型。 ...
2021-08-27 15:53:26
600
原创 JavaSE面试题-基础语法(持续更新)
1.&和&&的区别 &&:逻辑与 运算符左右两边的表达式都为true时,才返回true。 具有短路性:如果第一个表达式值为false,则直接返回false。 &:逻辑与、按位与 逻辑与:不具有短路性。 按位与:(常用)。 2.基本类型和引用类型 byte、short、int、long、float、double、char、boolean; 除了基本数据数据类型,其他的都是引用类型。 基本数据类型:数据直接存储在栈上。 引用数据类
2021-08-23 18:58:04
296
原创 JDK动态代理解析—案例说明
ad废话少说,直接上代码! 案例说明:一个卖U盘的厂家依靠中间商(代理)出售U盘。 项目结构: UsbSell.java package com.study.service; /** * 目标接口 */ public interface UsbSell { //卖U盘的方法 float sell(int amount); } UsbKingFactory.java package com.study.factory; import com.study.se...
2021-08-21 16:28:52
184
原创 数组—arraycopy()的用法
格式: arraycopy(要复制的数组,复制数组的起始位置,目标数组,复制的元素个数); 例子: int[] a = {1,2,3,4,5,6}; int[] b = new int[4]; //将数组a从第2个索引位置开始,截取4个元素到数组b从索引为0开始的位置添加。 System.arraycopy(a, 2, b, 0, 4); System.out.print("复制的新数据: "); for (int i = 0; i < b....
2021-08-11 10:06:00
2304
原创 保存代码模板
当我们在搭建项目框架时,会用到一些配置文件(比如xml),这些配置文件中大部分是固定的,不用改动,但是每次创建后文件都是空白的,都需要手动输入或者CV,如果用IDEA中提供的代码模板功能,将会非常方便,下面以搭建Mybatis项目时创建dao接口的xml文件为例: 一、打开模板文件 File—>Settings—>Editor—>File and Code Templates—>Files 二、创建模板文件 将代码模板保存后,我们新建文件的时候就可以...
2021-07-18 12:26:46
549
转载 Tomcat中的startup.bat闪退
1、WIN+R打开dos窗口 2、运行命令java -version和java -help 如果都有输出
2021-06-19 12:20:11
182
原创 cmd命令开启MySQL服务发生系统错误5
问题: WIN+R,cmd——>进入cmd命令窗口, 输入net start + 数据库服务名, 回车后提示“发生系统错误 5” 解决方法: 以“管理员身份运行” 在“开始菜单”搜索“cmd”,选择“以管理员身份运行”,执行以上操作即可。 SUCCESS: ...
2021-06-19 12:02:52
1273
1
原创 IDEA中运行Tomcat如何修改启动时的初始页面
在左边的目录结构中找到web.xml文件 代码如下: <web-app> <display-name>Archetype Created Web Application</display-name> <welcome-file-list> <welcome-file>login.jsp</welcome-file> </welcome-file-list> </web-app> .
2021-04-06 22:13:49
1084
2
转载 EL表达式${}中不显示值
在JSP页面顶部添加 <%@ page isELIgnored = "false" %> 默认 忽略el表达式 。如果为true时JSP Container将忽略EL表达式。 本文转自:https://blog.youkuaiyun.com/qq_40962416/article/details/89104224?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control
2021-02-26 23:57:15
392
原创 Web项目集成Mybatis
1.根据【分层思想】创建包类 分层思想(解耦:高内聚低耦合) controller层 接收请求 (调用service层,返回结果) 响应结果 service层 业务逻辑判断 mapper(dao) 接口类 mapper.xml(Mybatis与数据库的相关操作) entity(po、model) JaveBean实体 util 工具类(通用...
2021-02-17 18:27:14
2092
1
原创 JSP页面中引入JS文件没反应
小伙伴们在做网页开发的时候经常用到这种问题,有些是因为js文件的路径错误,如果按住ctrl能点进去文件说明路径正确,废话少说,直接上栗子。 以我的代码为例 <%--引入js文件--%> <script type="text/javascript" src="js/login.js"></script> 如果不是因为路径问题,那可以考虑一下顺序问题,代码的执行顺序是自上而下的,所以引入js文件的标签千万不能和引入jQuery一样放在head标签中,应该放在bod
2021-02-16 17:33:43
2914
原创 Mybatis进行compile编译后classes目录下缺少.xml文件的处理方式
1.先clean再compile 2.Rebuild Project 3.CV操作手动添加 4.清理无效缓存
2021-02-07 17:29:54
328
原创 Mybatis自动提交事务
学习Mybatis的小伙伴都知道,当我们使用Mybatis将Java和数据库连接后,利用.java文件编写对数据库进行insert、delete、update操作的sql语句时,Mybatis默认不自动提交事务,数据库中的数据不会改变。 所以要手动提交事务: sqlSession.commit(); 如果想让程序自动提交事务: 将 //5.【重要】获取SqlSession对象,从SqlSessionFactory中获取SqlSession SqlSession sqlSes
2021-02-06 20:22:54
2125
1
转载 java.sql.SQLException: The server time zone value 的解决办法
上面的写法会报错,我用的是8.0.22,在新版的数据库使用的时区与本地时区有区别,标准时区使用的是Unix元年的时间为起始点到当前时间中间所做的动作。国际标准失去与本地相差 8 个小时。 解决方法: 在数据库名后面加 ?serverTimezone=UTC UTC必须大写 --------------------- 作者:且听风吟WB 来源:优快云 原文:https://blog.youkuaiyun.com/qq_26552071/article/details/84947287 版权...
2021-02-05 23:03:55
147
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅