Java架构学习
文章平均质量分 89
编程叫兽
多年开发经验,分享最新编程技术
展开
-
面试之Java的SPI机制详细讲解你会吗?
面试Java之SPI详细教学原创 2023-04-09 10:23:09 · 682 阅读 · 0 评论 -
java开发三年,这些接口你都不会用,凭什么给你涨工资??
接口概述:1、接口是Java语言中的一种引用类型,是方法的"集合",所以接口的内部主要就是定义方法,包含常量,抽象方法(JDK 7及以前),额外增加默认方法和静态方法(JDK 8),额外增加私有方法(jdk9)。接口的定义,它与定义类方式相似,但是使用 interface 关键字。它也会被编译成.class文件,但一定要明确它并不是类,而是另外一种引用数据类型。public class 类名.java–>.classpublic interface 接口名.java–>.clas原创 2020-07-23 17:55:12 · 348 阅读 · 0 评论 -
如何在Spring Boot应用启动之后立刻执行一段逻辑?本文详解
1. 前言不知道你有没有接到这种需求,项目启动后立马执行一些逻辑。比如简单的缓存预热,或者上线后的广播之类等等。如果你使用Spring Boot框架的话就可以借助其提供的接口CommandLineRunner和ApplicationRunner来实现。另外注意:很多人在学Java高级过程中难免会遇到各种问题搞不懂。为此我建了个裙 783802103,汇聚了众多Java大佬一起交流解答,小白勿进!!2. CommandLineRunnerorg.springframework....原创 2020-06-05 14:15:46 · 234 阅读 · 0 评论 -
Idea如何实现SpringBoot外置Tomcat的Web项目热部署?案例详解
见到女朋友每次修改代码都傻乎乎的重启服务器~~~你累不累,气的我上去给了她一巴掌~~~。什么时候了热部署都不会,上教程!!!第二要注意:很多人在学Java高级过程中难免会遇到各种问题搞不懂。为此我建了个裙 783802103,汇聚了众多Java大佬一起交流解答,小白勿进!!1、idea设置自动编译(设置在哪我就不说了)2、ctrl+shift+alt+/,然后进去registenter之后,找到这三个配置项,配置运行自动编译和延迟更新毫秒数...原创 2020-06-05 14:09:20 · 335 阅读 · 0 评论 -
BAT之Java全套面试精华流程及经验分析,值得收藏
今天分享的BAT面试完整内容主要包含: 面试前的心态准备(3点建议) 技术硬实力包含的范围(50题目) 个人简历突出和优化(3点优化步骤) 个人软实力的提升(6点提升维度) BAT面试经验总结(1点总结) 6、另外要注意:很多人在学Java高级过程中难免会遇到各种问题搞不懂。为此我建了个裙 783802103,汇聚了众多Java大佬一起交流解答,小白勿进!! 1. 面试前的心态准备心态可以影响你面试的准备,笔试的状态,实力的发挥,可以影响...原创 2020-06-05 13:57:10 · 203 阅读 · 0 评论 -
JAVA里面的 concurrency 及ThreadLocal源码你会吗?
概述1、在并发编程中,为了控制数据的正确性,我们往往需要使用锁来来保证代码块的执行隔离性。但是在很多时候锁的开销太大了,而在某些情况下,我们的局部变量是线程私有的,每个线程都会有自己的独自的变/量,这个时候我们可以不对这部分数据进行加锁操作。于是ThredLocal应运而生。2、ThredLocal顾名思义,是线程持有的本地变量,存放在ThredLocal中的变量不会同步到其他线程以及主线程,所有线程对于其他的线程变量都是不可见的。那么我们来看下它是如何实现的吧。3、注意:光理论是不够的...原创 2020-06-04 13:44:41 · 176 阅读 · 0 评论 -
SpringBoot之Thymeleaf模板引擎如何运用?案例详解
根据B站狂神学java的笔记模板引擎Thymeleaf前端想要显示数据,我们以前是把页面转换成jsp。这样我们就能够实现数据的显示,及交互等。 jsp支持非常强大的功能,包括能写Java代码 。但是我们使用SpringBoot项目是jar方式而不是war。我们还是使用嵌入式的Tomcat,但现在springBoot默认是不支持jsp的。那该使用什么呢?第二要注意:光理论是不够的。在此免费赠送5大JAVA架构项目实战教程及大厂面试题库,有兴趣的可以进裙 783802103获取,没基础勿进...原创 2020-06-04 13:34:12 · 435 阅读 · 0 评论 -
Java高级实战Maven+JSP+SSM+Mysql实现音乐网站,你会吗?
项目简介项目来源于:https://gitee.com/coder_ze/iMusic本系统基于Maven+JSP+SSM+Mysql实现的音乐网站。主要实现的功能有音乐播放、下载、上传等几个模块。难度等级:中等技术栈编辑器Eclipse Version: 2020-03 (4.15.0)前端技术基础:html+css+JavaScript框架:JQuery+Bootstrap后端技术Spring+SpringMVC+mybatis模板引擎:JS...原创 2020-06-04 13:30:08 · 653 阅读 · 0 评论 -
Java Spring注入一个接口的多个实现类在map里如何实现?案例详解
spring注入map,spring注入多个实现类在map里一个接口,两个实现类接口:public interface TestService { void test();}两个实现类@Component("testOService")public class TestOService implements TestService { @Override public void test() { System.ou...原创 2020-06-04 13:21:50 · 1149 阅读 · 0 评论 -
Java Spring Cloud 实战之如何使用Nacos和网关中心的创建?80%的人都不会
0. 前言在上一节中,我们创建了一个项目架构,后续的项目都会在那个架构上做补充。1. Nacos1.1 简介Nacos可以用来发现、配置和管理微服务。提供了一组简单易用的特性集,可以快速实现动态服务发现、服务配置、服务元数据及流量管理。Nacos用来更敏捷和容易地构建、交付和管理微服务平台。Nacos是构建以”服务“为中心的现代应用构架(例如微服务范式、云原生范式)的服务基础设置。也就是通常我们所说的配置中心和服务发现中心。另外注意:光理论是不够的。在此免费赠送5大...原创 2020-06-04 13:16:59 · 331 阅读 · 0 评论 -
Docker Swarm与Kubernetes对比分析如何选择?
本文对Kubernetes 1.4的发布做了分析,并对未来Kubernetes和Docker的发展做了预测。分析容器编排工具Kubernetes本周发布了1.4版本,这是被Google工程师Kelsey Hightower描述为具有“用户同理心”的一次发布,因为Kubernetes终于在这个时候考虑到了易用性。“在过去的几个发布中,我们一直在努力降低获得一个维护良好的、安全的Kubernetes集群的复杂性”,CoreOS的CTO Brandon Philips在电话采访中告诉编辑。Core原创 2020-06-02 21:29:37 · 500 阅读 · 0 评论 -
dockerMesos配置项是怎么解析的?案例详解
VALUE,slave,master,mesos,dockerMesos 配置项解析Mesos 支持在运行时通过命令行参数形式提供的配置项。如果是通过系统服务方式启动,也支持以配置文件或环境变量方式给出。当然,实际上最终是提取为命令行参数传递给启动命令。Mesos 的配置项分为三种类型:通用项(master 和 slave 都支持),只有 master 支持的,以及只有 slave 支持的。另外要注意:光理论是不够的。在此免费赠送套JAVA架构项目实战教程及大厂面试题库,有兴趣的可以进...原创 2020-06-02 21:19:55 · 240 阅读 · 0 评论 -
BAT解决千万级别数据之MySQL的SQL如何优化?本文详细讲解
目前常用的 SQL 优化方式包括但不限于:业务层优化、SQL 逻辑优化、索引优化等。其中索引优化通常通过调整索引或新增索引从而达到 SQL 优化的目的。索引优化往往可以在短时间内产生非常巨大的效果。--- 来自美团技术团队SQL 优化是一个复杂的问题,不同版本和种类的数据库、不同数据级的数据需要选择不同的优化策略。第二:,注意:很多人在学Java高级过程中难免会遇到各种问题解决不了。为此我建了个裙 783802103,里面很多架构师一起交流解答,没基础勿进哦!说明:我这里简单总结一下 ...原创 2020-05-23 13:49:37 · 197 阅读 · 0 评论 -
JDK9的新特性:JVM的xlog如何正确运用?案例详解
JVM是java程序运行的基础,JVM中各种事件比如:GC,class loading,JPMS,heap,thread等等其实都可以有日志来记录。通过这些日志,我们可以监控JVM中的事件,并可以依次来对java应用程序进行调优。在JDK9中引入的Xlog日志服务就是为这个目的而创建的。另外注意:很多人在学Java高级过程中难免会遇到各种问题解决不了。为此我建了个裙 783802103,里面很多架构师一起交流解答,没基础勿进哦!通过xlog,JDK将JVM中的各种事件统一起来,以统一的形式...原创 2020-05-23 13:38:46 · 560 阅读 · 0 评论 -
Java之Stream如何运用?案例详解
注意:Stream 自己不会存储元素。 Stream 不会改变源对象。相反,它会返回一个持有结果得新Stream Stream 操作时延迟执行得,这意味着它们会等到需要结果时才执行。(延迟加载) 另外注意:在学习Java高级过程中难免会遇到各种问题解决不了。为此我建了个裙 783802103,里面很多架构师一起交流解答,没基础勿进哦!Stream 操作步骤Stream 创建: 一个数据源(集合,数组),获取一个流。 Stream 中间操作: 一个中间操作链,对数据源的数据进行处理...原创 2020-05-23 13:33:53 · 372 阅读 · 0 评论 -
SpringMVC高级-拦截器如何正确运用?案例详解
springMVC:拦截器实现了HandlerInterceptor接口。作用:用来拦截控制器的二.定义一个拦截器1.环境搭建@Componentpublic class Demo1Interceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, ...原创 2020-05-21 13:29:58 · 226 阅读 · 0 评论 -
超详细JVM性能优化案例全面讲解,值得收藏
对vm-性能优化不太熟悉,掌握不透彻的小伙伴可以借此学习一下。对vm-性能优化很熟悉,掌握很好的小伙伴可以当作复习巩固,写的不一定你们都会哟!话不多说,咱们直接上,注意:除了本文讲的案例。我还整理了最新5套JAVA架构项目实战教程及大厂面试题库,需要的可以进裙 783802103,裙文件下,没基础勿进哦!类加载机制深度剖析1、类加载过程多个java文件经过编译打包生成可运行jar包,最终由java命令运行某个主类的main函数启动程序,这里首先需要通过类加载器把主类加载到JVM。...原创 2020-05-19 18:05:31 · 338 阅读 · 0 评论 -
深入分析Spring之IOC之加载BeanDefinition案例详解
本文主要分析spring中BeanDefinition的加载,对于其解析我们在后面的文章中专门分析。BeanDefinition是属于Spring Bean模块的,它是对 spring bean 的统一抽象描述定义接口,我们知道在spring中定义bean的方式有很多种,如XML、注解以及自定义标签,同事Bean的类型也有很多种,如常见的工厂Bean、自定义对象、Advisor等等,我们在分析加载BeanDefinition之前,首先来了解它的定义和注册设计。上面类图我们做一个简...原创 2020-05-19 17:43:45 · 258 阅读 · 0 评论 -
如何用Spring Boot集成Ehcache缓存,教你三招搞定
本次内容主要介绍基于Ehcache 3.0来快速实现Spring Boot应用程序的数据缓存功能。在Spring Boot应用程序中,我们可以通过Spring Caching来快速搞定数据缓存。接下来我们将介绍如何在三步之内搞定 Spring Boot 缓存。除了本文讲的案例。我还整理了最新5套JAVA架构项目实战教程及大厂面试题库,需要的可以进裙 783802103,裙文件下,没基础勿进哦!1. 创建一个Spring Boot工程你所创建的Spring Boot应用程序的maven依...原创 2020-05-19 15:04:54 · 344 阅读 · 0 评论 -
如何实现Spring Boot自定义Banner - AlanLee,案例详解
Spring Boot项目启动的时候会打印如下内容。1 . ____ _ __ _ _2 /\ / ___"_ __ _ _(_)_ __ __ _ 3 ( ( )\___ | "_ | "_| | "_ / _` | 4 \/ ___)| |_)| | | | | || (_| | ) ) ) )5 " |____| .__|_| |_|_| |_\__, | / / / /6 =========|...原创 2020-05-18 10:46:50 · 247 阅读 · 0 评论 -
如何理解SpringMVC进阶,正确的案例详解
代码实现springMVC的配置:@Configuration@ComponentScan(basePackages={"com.czxy.demo1.controller"})public class MVCConfiguration { /** * 设置了一个视图解析器,交给spring管理 * @return */ @Bean public InternalResourceViewResolver getIntern...原创 2020-05-18 10:20:02 · 213 阅读 · 0 评论 -
CRM系统用户登录功能如何实现?Java高级项目实战必学
用户登录功能后台代码实现:UserMapper接口查询方法定义/** * * @param userName * @param userPwd * @param roleName * 查询用户记录 * @return */User queryUser(@Param("userName")String userName); <!-- 查询用户 --><select id="queryUser" resultMap="BaseResultMap"...原创 2020-05-16 11:11:00 · 394 阅读 · 0 评论 -
线程池全面案例解析,java高级必学应用
什么是线程池?很简单,简单看名字就知道是装有线程的池子,我们可以把要执行的多线程交给线程池来处理,和连接池的概念一样,通过维护一定数量的线程池来达到多个线程的复用。线程池的好处我们知道不用线程池的话,每个线程都要通过new Thread(xxRunnable).start()的方式来创建并运行一个线程,线程少的话这不会是问题,而真实环境可能会开启多个线程让系统和程序达到最佳效率,当线程数达到一定数量就会耗尽系统的CPU和内存资源,也会造成GC频繁收集和停顿,因为每次创建和销毁一...原创 2020-05-16 11:04:29 · 194 阅读 · 0 评论 -
CRI-O将如何把Kubernetes推上容器生态系统的中心位置?面试必学
开源项目CRI-O(https://github.com/kubernetes-incubator/cri-o),即之前的OCID,旨在不依赖传统容器引擎的前提下,使开源Kubernetes调度框架可以管理和启动容器化的工作负载。使用Google发起、Kubernetes工程师开发的容器运行时接口(CRI),通过与Kubernetes或Kubernetes的商业实例(如CoreOS Tectonic)进行交互,该软件可以帮助DevOps专家管理整个“容器生命周期”。开发者需要容器引擎来创建和构建原创 2020-05-15 21:32:51 · 292 阅读 · 0 评论 -
如何安装与使用docker Mesos,一步步教你
mesos,节点,master,Mesos,marathonMesos 安装与使用以 Mesos 结合 Marathon 应用框架为例,来看下如何快速搭建一套 Mesos 平台。Marathon 是可以跟 Mesos 一起协作的一个 framework,基于 Scala 实现,可以实现保持应用的持续运行。另外,Mesos 默认利用 ZooKeeper 来进行多个主节点之间的选举,以及从节点发现主节点的过程。一般在生产环境中,需要启动多个 Mesos master 服务(推荐 3 或...原创 2020-05-15 21:27:19 · 423 阅读 · 0 评论 -
如何用Spring boot快速的配置多个Redis数据源?正确的案例详解
简介redis 多数据源主要的运用场景是在需要使用多个redis服务器或者使用多个redis库,本文采用的是fastdep依赖集成框架,快速集成Redis多数据源并集成lettuce连接池,只需引入依赖后在yaml文件中配置多数据源连接信息即可。源码地址希望大家可以 star 支持一下,后续还会加入其它依赖的简易整合。https://github.com/louislivi/fastdep引入依赖Maven <dependency><...原创 2020-05-13 21:02:40 · 526 阅读 · 0 评论 -
SpringBoot和Kafka集群案例详解,面试必学
前言市面上消息队列中间件管理有蛮多的,如:ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ,但我最先接触的可能就是 Kafka 了,不过那时候为了用,只知道部分实用性的东西,这两天稍稍花了点时间看了看。消息队列在我看来,消息队列的出现更多的是解耦合,我们不需关心数据的来处和出处,生产者和消费者可能都不知道对方是一种什么样的存在方式,而且解决了突发的数据剧增现象. 我在例子中曾这样实验过线程跑一会睡眠 20ms 线程一直在跑...原创 2020-05-13 20:58:26 · 261 阅读 · 0 评论 -
SpringBoot /error Error Page status为999的问题,正确的案例详解
配置server: port: 8000 servlet: context-path: "/api" compression: enabled: false刚接触SpringBoot,HelloWolrd 已经实现。普通的 404 也处理成功了。但是127.0.0.1:8000/api/error一直都是 “Whitelabel Error Page”。尝试了过很多方法,还是无法解决。我需要把状态999添加到ErrorPageConifg里面,但是我不知...原创 2020-05-13 20:51:37 · 2346 阅读 · 0 评论 -
如何用Spring Boot整合Shiro+JWT?一招帮你解决
简介目前RESTful大多都采用JWT来做授权校验,在Spring Boot中可以采用Shiro和JWT来做简单的权限以及认证验证,在和Spring Boot集成的过程中碰到了不少坑。便结合自身以及大家的常用的运用场景开发出了这个最简单的整合方式fastdep-shiro-jwt。这里还要注意:光理论是不够的,在此送大家十套2020最新Java架构实战教程+大厂面试题库,进我扣裙 :七吧伞吧零而衣零伞 (数字的谐音)转换下可以找到了,里面很多新JAVA架构项目教程,还可以跟...原创 2020-05-13 20:43:09 · 360 阅读 · 0 评论 -
如何解决基于Mysql数据库亿级数据下的分库分表方案,Java架构必学
前言移动互联网时代,海量的用户数据每天都在产生,基于用户使用数据等这样的分析,都需要依靠数据统计和分析,当数据量小时,数据库方面的优化显得不太重要,一旦数据量越来越大,系统响应会变慢,TPS直线下降,直至服务不可用。补充在mysql中,每个数据库最多可创建20亿个表,一个表允许定义1024列,每行的最大长度为8092字节(不包括copy文本和图像类型的长度)。当表中定义有varchar、n...原创 2020-05-07 12:59:31 · 270 阅读 · 0 评论 -
如何用Spring Security OAuth2 实现登录互踢,面试必学
背景说明一个账号只能一处登录,类似的业务需求在现有后管类系统是非常常见的。 但在原有的 spring security oauth2 令牌方法流程(所谓的登录)无法满足类似的需求。我们先来看TokenEndpoint的方法流程客户端 带参访问 /oauth/token 接口,最后去调用TokenGranter另外要注意:突破高薪Java架构项目经验永远是核心,如果你没...原创 2020-05-07 13:43:48 · 1387 阅读 · 1 评论 -
Spring Security 中如何快速查看登录 IP地址等信息?一招搞定
之前跟大家聊了如何使用更加优雅的方式自定义 Spring Security 登录逻辑,更加优雅的方式可以有效避免掉自定义过滤器带来的低效,建议大家一定阅读一下,也可以顺便理解 Spring Security 中的认证逻辑。不废话了,我们来看今天的文章。1.AuthenticationAuthentication 这个接口前面和大家聊过多次,今天还要再来聊一聊。另外大家要注意:突破高薪J...原创 2020-05-07 20:40:40 · 816 阅读 · 0 评论 -
2020最新Java ZooKeeper面试题及答案,你会几道?
前言涵盖各大公司会问到的面试点,同时随着版本的升级,可能也会有一些面试题更新,也会同步保持更新,因为篇幅原因(其实是我懒,哈哈)所以列了一部分答案,所有的答案见下文,总共485页合计20个技术点,文末自取pdf.1. ZooKeeper 面试题?ZooKeeper 是一个开放源码的分布式协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最...原创 2020-05-07 10:19:27 · 182 阅读 · 0 评论 -
Spring中的反射与反射的原理,案例详解
在造轮子:实现一个简易的 Spring IoC 容器一文中提到 Spring 在创建 Bean 实例和依赖注入时使用了反射,本文来具体分析一下 Spring 中的反射以及反射的原理。一、Spring 中的反射1.1、创建 Bean 实例时的反射// 通过类加载器,根据 class 路径,得到其类对象Class<?> clz = Thread.currentThre...原创 2020-05-06 18:03:04 · 1412 阅读 · 0 评论 -
10大Java方向最热门的开源项目,高薪必学
1. JCSprout(Java核心知识库)Github地址: https://github.com/crossoverJie/JCSprout star: 12k 介绍: 处于萌芽阶段的 Java 核心知识库。 另外要注意:光理论是不够的,记住:Java架构项目经验永远是核心,如果你没有最新JAVA架构实战教程及大厂30k+面试宝典,可以去小编的Java架构学习.裙 :七吧伞吧零而衣零...原创 2020-05-06 17:45:57 · 305 阅读 · 0 评论