《带你学》java进阶专栏
文章平均质量分 83
本专栏主要内容是以在javaweb中遇到的各种问题以及技术点进行总结
码上代码
我是码哥,为大家分享技术,面试经验和技巧,主页或私信可以联系我,希望我们成为朋友,一起逆袭
展开
-
java面试必问,让你彻底搞懂spring如何解决循环依赖
这样的流程也适用于普通的IOC以及有并发的场景,但如果A上加个切面(AOP)的话,这种情况也无法满足需求原创 2022-04-15 14:44:52 · 730 阅读 · 0 评论 -
我学了这套性能优化方法论,领导年终奖给我发了6个月
如果想年终奖比同事拿的多,性能优化是你一鸣惊人的机会,所以必须掌握。。。原创 2022-03-10 08:36:45 · 9216 阅读 · 9 评论 -
Spring事务失效的几种原因分析
Spring事务失效的几种原因分析1、spring的事务注解@Transactional只能放在public修饰的方法上才起作用,如果放在其他非public(private,protected)方法上,虽然不报错,但是事务不起作用2、如果采用spring+spring mvc,则context:component-scan重复扫描问题可能会引起事务失败。如果spring和mvc的配置文件中都扫描了service层,那么事务就会失效。原因:因为按照spring配置文件的加载顺序来讲,先加载spring原创 2021-01-18 09:56:47 · 8309 阅读 · 0 评论 -
消息队列那点事,面试必问
一、消息模型点对点发布/订阅二、使用场景异步处理流量削锋应用解耦三、可靠性发送端的可靠性接收端的可靠性参考资料一、消息模型点对点消息生产者向消息队列中发送了一个消息之后,只能被一个消费者消费一次。发布/订阅消息生产者向频道发送一个消息之后,多个消费者可以从该频道订阅到这条消息并消费。发布与订阅模式和观察者模式有以下不同:观察者模式中,观察者和主题都知道对方的存在;而在发布与订阅模式中,生产者与消费者不知道对方的存在,它们之间通过频道进行通信。观..原创 2021-01-07 10:52:34 · 4940 阅读 · 0 评论 -
面试必备技能-----git
集中式与分布式中心服务器工作流分支实现冲突Fast forward分支管理策略储藏(Stashing)SSH 传输设置.gitignore 文件Git 命令一览参考资料集中式与分布式Git 属于分布式版本控制系统,而 SVN 属于集中式。 集中式版本控制只有中心服务器拥有一份代码,而分布式版本控制每个人的电脑上就有一份完整的代码。集中式版本控制有安全性问题,当中心服务器挂了所有人都没办法工作了。集中式版本控制需要连网才能工作,如果网速过慢,那么提交一个文件会慢的无法.原创 2021-01-06 13:32:42 · 720 阅读 · 1 评论 -
程序员必须之正则表达式
一、概述二、匹配单个字符三、匹配一组字符四、使用元字符五、重复匹配六、位置匹配七、使用子表达式八、回溯引用九、前后查找十、嵌入条件参考资料一、概述正则表达式用于文本内容的查找和替换。正则表达式内置于其它语言或者软件产品中,它本身不是一种语言或者软件。正则表达式在线工具二、匹配单个字符. 可以用来匹配任何的单个字符,但是在绝大多数实现里面,不能匹配换行符;. 是元字符,表示它有特殊的含义,而不是字符本身的含义。如果需要匹配 . ,那么要用 \ 进行转义,即在 . 前.原创 2021-01-06 13:30:53 · 1194 阅读 · 1 评论 -
集群是如何实现高可用?
一、负载均衡负载均衡算法转发实现二、集群下的 Session 管理Sticky SessionSession ReplicationSession Server一、负载均衡集群中的应用服务器(节点)通常被设计成无状态,用户可以请求任何一个节点。负载均衡器会根据集群中每个节点的负载情况,将用户请求转发到合适的节点上。负载均衡器可以用来实现高可用以及伸缩性:高可用:当某个节点故障时,负载均衡器会将用户请求转发到另外的节点上,从而保证所有服务持续可用;伸缩性:根据系统整.原创 2021-01-06 09:49:15 · 5655 阅读 · 1 评论 -
进入BAT大厂这些代码规范必须知道
一、可读性的重要性二、用名字表达代码含义三、名字不能带来歧义四、良好的代码风格五、为何编写注释六、如何编写注释七、提高控制流的可读性八、拆分长表达式九、变量与可读性十、抽取函数十一、一次只做一件事十二、用自然语言表述代码十三、减少代码量参考资料一、可读性的重要性编程有很大一部分时间是在阅读代码,不仅要阅读自己的代码,而且要阅读别人的代码。因此,可读性良好的代码能够大大提高编程效率。可读性良好的代码往往会让代码架构更好,因为程序员更愿意去修改这部分代码,而且也更容易修改。.原创 2021-01-05 15:45:02 · 654 阅读 · 1 评论 -
大厂都在用的构建工具
一、构建工具的作用二、Java 主流构建工具三、Maven参考资料一、构建工具的作用构建工具是用于构建项目的自动化工具,主要包含以下工作:依赖管理不再需要手动导入 Jar 依赖包,并且可以自动处理依赖关系,也就是说某个依赖如果依赖于其它依赖,构建工具可以帮助我们自动处理这种依赖关系。运行单元测试不再需要在项目代码中添加测试代码,从而避免了污染项目代码。将源代码转化为可执行文件包含预处理、编译、汇编、链接等步骤。将可执行文件进行打包不再需要使用 IDE 将应用程序打包成 Jar.原创 2021-01-05 15:42:34 · 1139 阅读 · 1 评论 -
什么是Service Mesh(服务网格)
Service Mesh 又译作 “服务网格”,作为服务间通信的基础设施层。Buoyant 公司的 CEO Willian Morgan 在他的这篇文章 WHAT’S A Service Mesh? AND WHY DO I NEED ONE? 中解释了什么是 Service Mesh,为什么云原生应用需要 Service Mesh。下面是 Willian Morgan 对 Service Mesh 的解释。A Service Mesh is a dedicated infrastructure lay转载 2020-12-25 11:34:56 · 904 阅读 · 2 评论 -
xxx is not visiable class loader
这种问题大多是mapper.xml文件里面有语法错误,导致代理类不能创建代理对象,dao层注入失败报错解决办法:检查xml文件里是否有语法错误原创 2020-12-02 11:33:26 · 265 阅读 · 0 评论 -
springboot插件式开发,个性部署
功能介绍介绍该框架主要是集成于springboot项目,用于开发插件式应用的集成框架。核心功能插件配置式插拔于springboot项目。在springboot上可以进行插件式开发, 扩展性极强, 可以针对不同项目开发不同插件, 进行不同插件jar包的部署。可通过配置文件指定要启用或者禁用插件。支持上传插件和插件配置文件到服务器, 并且无需重启主程序, 动态部署插件、更新插件。支持查看插件运行状态, 查看插件安装位置。无需重启主程序, 动态的安装插件、卸载插件、启用插件、停止插件、备份插件原创 2020-11-30 14:16:44 · 1204 阅读 · 0 评论 -
SpringBoot源码@ConditionalOnBean与@ConditionalOnClass你清楚吗
@ConditionalOnBean // 当给定的在bean存在时,则实例化当前Bean@ConditionalOnMissingBean // 当给定的在bean不存在时,则实例化当前Bean@ConditionalOnClass // 当给定的类名在类路径上存在,则实例化当前Bean@ConditionalOnMissingClass // 当给定的类名在类路径上不存在,则实例化当前Bean下面我通过案例深入讲下@ConditionalOnBean 注解,这个原创 2020-11-27 13:48:24 · 11250 阅读 · 5 评论 -
spring事务,你真的了解了
spring七个事务传播属性:• 1.PROPAGATION_REQUIRED – 支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。• 2.PROPAGATION_SUPPORTS – 支持当前事务,如果当前没有事务,就以非事务方式执行。• 3.PROPAGATION_MANDATORY – 支持当前事务,如果当前没有事务,就抛出异常。• 4.PROPAGATION_REQUIRES_NEW – 新建事务,如果当前存在事务,把当前事务挂起。• 5.PROPAGATION_NOT.原创 2020-11-26 16:25:14 · 3058 阅读 · 3 评论 -
springIoc和aop实现原理
获取技术书籍关注原创 2020-05-19 09:28:13 · 1942 阅读 · 0 评论 -
JWT结合springSecurity实现鉴权中心
1.无状态登录原理1.1.什么是有状态?有状态服务,即服务端需要记录每次会话的客户端信息,从而识别客户端身份,根据用户身份进行请求的处理,典型的设计如tomcat中的session。例如登录:用户登录后,我们把登录者的信息保存在服务端session中,并且给用户一个cookie值,记录对应的session。然后下次请求,用户携带cookie值来,我们就能识别到对应session,从而找到用户...原创 2020-05-07 08:53:04 · 12534 阅读 · 3 评论 -
HTTP详解
一 、基础概念URI请求和响应报文二、HTTP 方法GETHEADPOSTPUTPATCHDELETEOPTIONSCONNECTTRACE三、HTTP 状态码1XX 信息2XX 成功3XX 重定向4XX 客户端错误5XX 服务器错误四、HTTP 首部通用首部字段请求首部字段响应首部字段实体首部字段五、具体应用连接管理...原创 2020-04-21 09:53:42 · 492 阅读 · 1 评论 -
springboot是如何实现自动配置,加载生成bean,这篇告诉你
1.首先你得知道springbootApplication这个注解的作用,它是一个复合注解@SpringBootApplication 看作是 @Configuration、@EnableAutoConfiguration、@ComponentScan 注解的集合。@EnableAutoConfiguration:启用 SpringBoot 的自动配置机制@ComponentScan: 扫描...原创 2020-01-13 08:39:43 · 18434 阅读 · 1 评论 -
springboot实现上传图片到服务器,前端及java后台代码总结
后台代码@RequestMapping(value = “/image/save-test”, method = RequestMethod.POST)@ResponseBodypublic JsonResult upLoadImg(@RequestParam(“images”) MultipartFile file, HttpServletRequest request) throws I...原创 2019-12-18 10:01:37 · 4409 阅读 · 1 评论 -
SpringBoot整合Rabbitmq学习笔记
RabbitMQ五种交换机类型,六种队列模式一、哪五种交换机?1、Direct exchange. a、会根据routingKey 完全匹配成功后才会消费。比如:如果生产一条消息 “我是中国人”,发送到交换机的时候绑定了路由键是:“中国”,则如果要消费的话只有匹配了路由键是“中国”的才能消费。(可以比喻为交换机是 “地球”,路由键是“国家—中国”,消息是“人”,这个消息的身份证是哪个国家...原创 2019-12-14 15:52:31 · 3976 阅读 · 1 评论