
java开发
从各个方面深入java,终生维护、更新
北落师门_Orz
人生五十年,如梦亦如幻,有生斯有死,壮士何所憾
展开
-
SpringBoot静态资源访问、全局异常、跨域
静态资源访问官方推荐尽量不要放在webapp中,尽量放在static中。• 现在在resouces中新建一个文件夹static/html/test.html• 然后写一个配置类,代码如下@Configuration@EnableWebMvc //有的版本需要去掉这个@EnableWebMvc注解public class SpringWebMvcConfigurer implements WebMvcConfigurer { @Bean public CommonsMultipartRes原创 2021-07-03 00:48:38 · 710 阅读 · 0 评论 -
SpringSession+redis
先配置yml文件server: port: 8080 servlet: session: timneout: 3000spring: application: name: SpringSessionRedis redis: host: localhost port: 6379 timeout: 3000 pool: max-idle: 8 min-idle: 0 max-active: 8原创 2021-01-01 01:13:04 · 264 阅读 · 0 评论 -
synchronized、脏读、volatile
synchronized可以加在方法体上,也可以使用在对象上 try { synchronized (list) { if(list.getSize() < 1){ Thread.sleep(2000); list.add(data); } } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } public synch原创 2020-12-22 16:58:47 · 200 阅读 · 0 评论 -
资源让步和守护进程
Thread.yield可以放弃当前的资源让给CPU去执行class YieldMethod extends Thread { @Override public void run() { long beginTime = System.currentTimeMillis(); int count = 0; for(int i=0; i<50000000; i++) { //放弃当前cpu资源,让给其他任务去原创 2020-12-03 16:03:37 · 114 阅读 · 0 评论 -
java多线程-线程安全、线程停止
接下来介绍线程安全及共享变量public class MyThreadVariableAndSafe extends Thread { private int count = 5; public MyThreadVariableAndSafe(String name) { super(); this.setName(name); } @Override public void run() { super.run(原创 2020-11-23 15:54:59 · 190 阅读 · 0 评论 -
java多线程初窥
接下来介绍Java多线程,首先介绍下进程和线程进程:简而言之理解为任务管理器中运行的独立程序线程:是在进程中独立运行的子任务一个进程运行时,至少会有一个线程在运行的使用多线程的优点最大限度的利用CPU的空闲时间来处理其他的任务接下来看一个简单的java多线程案例import org.junit.Test;class MyThread extends Thread { @Override public void run() { super.run();原创 2020-11-08 21:45:23 · 134 阅读 · 0 评论 -
动态路由协议
什么是动态路由协议:路由协议是用于路由器之间交换路由信息的协议。动态路由协议分为内部网关协议(IGP)和外部网关协议(EGP)。通过路由协议,路由器可以动态共享有关远程网络的信息,路由协议可以确定到达各个网络的最佳路径,然后将路径添加到路由表中。动态路由协议可以自动的发现远程网络,主要的好处是:只要网络拓扑结构发生了变化,路由器就会相互交换路由信息,不仅能够自动获知新增加的网络,还可以在当前网络连接失败时找出备用路径动态路由协议的用途:交换路由信息,并将其选择的最佳路径添加到路由表中。路由协议的用途如下:原创 2020-09-15 11:24:19 · 734 阅读 · 0 评论 -
apache camel 01-核心概念
Camel框架的核心是一个路由引擎,它允许你定义自己的路由规则,决定接受哪些消息,做出决定如何处理,发送这些消息给其他目标。Camel用这种集成语言允许你定义复杂的路由规则。Camel的基本原则之一是不会假设任何你需要处理的数据,这是很重要的一点,因为它给你们开发者一个集成任何系统的一个机会,不需要转换你的数据为另外的一种公认格式。Camel 提供了高水平的抽象,它允许你根据相同的api协议或者系统的数据类型集成各种各样的系统。Camel的组件提供了特殊实现的接口api,其目的是给不同的协议和数据类型服原创 2020-09-08 00:54:16 · 696 阅读 · 0 评论 -
JSON WEB TOKEN解决跨域、缓存一致性问题
json web token应用于:分布式的单点登录场景可以使用跨域认证解决方案3.集群缓存一致性问题用大白话来说就是用于替换web中的session,以后不用把user对象保存在session中,而是输出成字符串,然后丢给前端,前端根据文档约束,有要求上传token时把token带给后台。然后就可以根据这个token解析出user。之前都是使用redis来做缓存的,新项目跟前端商量了下试着使用JSON WEB TOKEN,pom配置如下: <dependency> &原创 2020-09-10 17:29:49 · 581 阅读 · 0 评论 -
MinIO+SpringBoot使用
首先给出官网和镜像:中国镜像:http://dl.minio.org.cn/server/minio/release/windows-amd64/官网:https://docs.minio.io/ https://docs.minio.io/cni接下来正式介绍wndows环境搭建:通过镜像下载minio.exe后保存至存放的位置,这里保存在C:\develop\minio打开cmd文件进入C:\develop\minio执行命令: .\minio.exe server C:\de原创 2020-09-10 17:10:17 · 3729 阅读 · 0 评论 -
webservice精讲
上一讲提到cxf使用及常见报错分析,使用cxf就不得不提webservice,毕竟cxf是用来调webservice,而提到webservice就不得不先说下soap,所以本文从soap开始到webservice原创 2020-09-10 15:49:29 · 581 阅读 · 0 评论 -
cxf使用及常见报错分析
引入cxf框架,在实际上线部署后如果采用java -jar或者部署在tomcat容器中出现编译失败,又或者提示找不到xxx类,大家如果上网搜索得到的答案一般是说当前环境是Jre,而cxf需要jdk环境下的tools.jar,也就是说cxf是需要Jdk环境的,所以解决方案很简单,如果是跑Jar包,那就进入jdk/bin路径下执行java -jar,如果是跑容器,通常情况下容器都是读取环境变量的jdk路径其实就是jre,那就修改容器的环境为jdk路径就可以了。例如tomcat是在bin\setclasspath原创 2020-09-08 00:39:57 · 2441 阅读 · 0 评论