![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java架构
以架构师知识网络图,一步一步逐渐深入探索。
筱光
一个自称码神的搬砖将
展开
-
MinIO
启动后终端会输出S3-API和Console访问的地址。推荐使用rpm,可以自动注册服务。原创 2024-02-28 12:01:55 · 926 阅读 · 0 评论 -
阿里云课堂·云安全·Web应用安全认知(笔记)
Web应用安全认知主要内容Web应用的主要威胁SQL注入攻击分类、方式SQL注入攻击的防御XSS攻击的分类、方式XSS攻击的防御方法文件上传攻击的分类、方式文件上传攻击的防御1.OWASP TOP 10OWASP十大Web弱点介绍(OWASP-组织 https://www.owasp.org)OWASP提供了一个Web应用安全的适合和全面的框架和过程。OWASP提高电子商务安全的主要功能如下:十大Web应用安全漏洞开发指南代码审计指南测试指南OWASP移动安全十大漏原创 2020-06-30 14:04:56 · 647 阅读 · 0 评论 -
SpringBoot线程池初始化
Application.java启动类中增加线程池初始化。@Bean(name = "threadPool") public static ExecutorService threadPool() { int max = Runtime.getRuntime().availableProcessors() + 1; return new ThreadPoo...原创 2019-11-21 15:50:25 · 2119 阅读 · 0 评论 -
线程等待时间过长的处理
Java编程中,并行任务,提高了系统资源利用率,提高效率。多线程协作,线程等待的场景时常有,实际使用中需要避免线程无休止的等待,避免用户等待时间过长。简单的一个案例:if (!transTimeQueryFuture.isDone()) { log.info("等待产品实际数据日期查询线程执行结束..."); long waitQueryStartTime = System....原创 2019-10-28 18:16:18 · 2654 阅读 · 0 评论 -
Java·潜修·MyBatis框架工作原理和执行流程
MyBatis框架工作原理和执行流程一、MyBatis框架工作原理Created with Raphaël 2.2.0MyBatis核心配置文件: 配置数据源,事务管理方式,指定SQL映射文件位置SqlSessionFactory(会话工厂) 根据核心配置文件生成的一个工厂对象 作用:创建SqlSession(接口)提供给开发人员一个接口 ...原创 2019-08-24 23:10:39 · 198 阅读 · 0 评论 -
Java高级工程师蜕变·多线程·线程安全与数据同步
在串行化的任务执行过程中,由于不存在资源的共享,线程安全的问题几乎不用考虑,但是串行化的程序,运行效率低下,不能最大化地利用CPU的计算能力。 无论是互联网系统,还是企业级系统,在追求稳定计算的同时,也在追求更高的系统吞吐量。并发或者并行的程序并不意味着可以满足越多Thread,Thread的多少对系统的性能来讲是一个抛物线,同时多线程的引入也带来了共享资源安全的...原创 2019-06-14 14:00:46 · 177 阅读 · 0 评论 -
Java高级工程师蜕变·多线程·join方法结合实战【接上篇Thread API】
一、先看应用场景: 假设有一个APP服务主要用于查询航班信息,你的APP是没有这些实时数据的,当用户发起查询请求时,你需要到各大航空公司的接口获取信息,最后统一整理加工返回到APP客户端。 该例子是典型的串行任务局部并行化处理,用户在APP客户端输入出发地"上海"和目的地"北京",服务器接收到这个请求后,先来验证用户的信息,然后到各大航空公司的接口查询信息,最后经...原创 2019-04-28 21:22:19 · 221 阅读 · 0 评论 -
Java高级工程师蜕变·多线程·Thread API的详细介绍
一、线程sleep1.sleep方法介绍 sleep方法会使当前线程进入指定毫秒数的休眠,暂停执行,虽然给定了一个休眠时间,但是最终要以系统的定时器和调度器的精度为准。休眠有一个非常重要的特性,那就是其不会放弃monitor锁的所有权。2.使用TimeUnit替代Thread.sleep 在JDK1.5以后,引入了一个枚举TimeUnit,其对sleep方法...原创 2019-04-27 22:42:35 · 239 阅读 · 0 评论 -
Java高级工程师蜕变·多线程·深入理解Thread构造函数
一、线程的命名 在构造线程的时候可以为线程起一个有特殊意义的名字,这也是一种比较好的做法,有助于排查问题。没有提供线程命名参数的构造函数:Thread() Thread(Runnable target) Thread(ThreadGroup group,Runnable target)如果没有为线程显式的指定一个名字,那么线程将会以"Thread-"作为前缀于自增数...原创 2019-03-28 22:42:34 · 261 阅读 · 0 评论 -
Java高级工程师蜕变·多线程·认识线程
一、线程的生命周期 没时间画图了,直接把书上的图拍下来。线程由图可知,大体分为5个主要的阶段:NEW RUNNABLE RUNNING BLOCKED TERMINATED1.线程的NEW状态 当我们用关键字new创建一个Thread对象时,此时它并不处于执行状态,因为没有调start方法启动该线程,那么线程的状态为NEW状态。2.线程的RU...原创 2019-03-27 22:11:32 · 219 阅读 · 0 评论 -
Java高级工程师蜕变·泛型编程
泛型机制编写的程序代码要比杂乱的使用Object变量,然后再进行强制类型转换的代码具有更好的安全性和可读性,在Java中增加泛型类之前,泛型程序是用继承实现的,这种方法当获取一个值时必须进行强制类型转换,而且没有错误检查,可以添加任何对象。直接用例子说话:1.定义泛型类/** * 定义泛型类 * @param <T> */public class Pair<...原创 2019-03-26 22:25:43 · 259 阅读 · 0 评论