12 2020 档案

摘要:分布式分为分布式缓存(Redis)、分布式锁(Redis 或 Zookeeper)、分布式服务(Dubbo 或 SpringCloud)、分布式服务协调(Zookeeper)、分布式消息队列(Kafka 、RabbitMq)、分布式 Session 、分布式事务、分布式搜索(Elasticsearc 阅读全文
posted @ 2020-12-30 21:52 公众号程序员白楠楠 阅读(570) 评论(0) 推荐(1) 编辑
摘要:1、一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15 ? 2、Mysql的技术特点是什么? Mysql数据库软件是一个客户端或服务器系统,其中包括:支持各种客户端程序和库的多线程SQL 阅读全文
posted @ 2020-12-29 16:33 公众号程序员白楠楠 阅读(1493) 评论(0) 推荐(0) 编辑
摘要:关于MyBatis的知识点总结了个思维导图分享给大家 基本概念 流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器,应用每次从迭代器取一条查询结果。流式查询的好处是能够降低内存使用。 如果没有流式查询,我们想要从数据库取 1000 万条记录而又没有足够的内存时,就不得不分页查询,而分页查询效 阅读全文
posted @ 2020-12-28 20:05 公众号程序员白楠楠 阅读(2781) 评论(0) 推荐(0) 编辑
摘要:进大厂是大部分程序员的梦想,而进大厂的门槛也是比较高的,所以这里整理了一份阿里、美团、滴滴、头条等大厂面试大全,其中概括的知识点有:Java、MyBatis、ZooKeeper、Dubbo、Elasticsearch、Memcached、Redis、MySQL、Spring、Spring Boot、 阅读全文
posted @ 2020-12-25 20:35 公众号程序员白楠楠 阅读(1591) 评论(0) 推荐(0) 编辑
摘要:正文如下: 今天,我们来做一波Logback与Log4j2的测试和调研。 服务器硬件 CPU 六核 内存 8G 测试工具 JMeter JProfile APM(New Relic) logback日志框架同步和异步测试 之前的测试结果存在以下几点问题: 测试样本数过少(即线程数和循环执行次数过少, 阅读全文
posted @ 2020-12-24 23:06 公众号程序员白楠楠 阅读(367) 评论(0) 推荐(0) 编辑
摘要:《Effective JavaJava》名著,必读。如果能严格遵从本文的原则,以编写API的质量来苛求自己的代码,会大大提升编码素质。 以下内容只记录了我自己整理的东西,还是建议读原文。为了聚焦知识点,一些说明故意忽略掉了。相当于是一篇摘要。 1、考虑用静态工厂方法替代构造函数 例子: Intege 阅读全文
posted @ 2020-12-23 23:10 公众号程序员白楠楠 阅读(542) 评论(0) 推荐(1) 编辑
摘要:前言 MyBatis可能很多人都一直在用,但是MyBatis的SQL执行流程可能并不是所有人都清楚了,那么既然进来了,通读本文你将收获如下: 1、Mapper接口和映射文件是如何进行绑定的 2、MyBatis中SQL语句的执行流程 3、自定义MyBatis中的参数设置处理器typeHandler 4 阅读全文
posted @ 2020-12-22 21:34 公众号程序员白楠楠 阅读(262) 评论(0) 推荐(0) 编辑
摘要:前言 Java程序员以前连接数据库是这样的 现在连接数据库是这样的 在传统的JDBC 实现中,我们需要把查询过程写在Java 类中,这样非常不便于后期维护。而使用Mybatis 则可以将查询语句配置在配置文件中,只需要维护好映射关系即可。 Mybatis是一个开源的轻量级半自动化ORM框架,使得面向 阅读全文
posted @ 2020-12-22 21:07 公众号程序员白楠楠 阅读(231) 评论(0) 推荐(0) 编辑
摘要:1. 背景 多个业务线的应用出现LongGC告警 最近一段时间,经常收到CAT报出来的Long GC告警(配置为大于3秒的为Longgc)。 2. 知识回顾 2.1 JVM堆内存划分 新生代(Young Generation) 新生代内被划分为三个区:Eden,from survivor,to su 阅读全文
posted @ 2020-12-21 22:00 公众号程序员白楠楠 阅读(539) 评论(0) 推荐(0) 编辑
摘要:简介 本文将介绍7种同步方法的访问场景,我们来看看这七种情况下,多线程访问同步方法是否还是线程安全的。这些场景是多线程编程中经常遇到的,而且也是面试时高频被问到的问题,所以不管是理论还是实践,这些都是多线程场景必须要掌握的场景。 八种使用场景: 接下来,我们来通过代码实现,分别判断以下场景是不是线程 阅读全文
posted @ 2020-12-21 21:23 公众号程序员白楠楠 阅读(407) 评论(0) 推荐(0) 编辑
摘要:前言 作为一名 Java 从业者,虽然近几年,无论是使用规模、开发者人数,还是技术生态成熟度、相关工具的丰富程度,Java 都在后端开发语言中有着不可撼动的地位,也是开发各类业务系统的首选语言。 而且薪资也非常可观 (图源:职友集 2020年北京 Java 程序员的工资情况) 但很多同学却总有种“做 阅读全文
posted @ 2020-12-20 19:34 公众号程序员白楠楠 阅读(243) 评论(0) 推荐(0) 编辑
摘要:在使用 mybatis 过程中, 当手写 JavaBean和XML 写的越来越多的时候, 就越来越同意出错。这种重复性的工作, 我们当然不希望做那么多。 关于MyBatis的知识点总结了个思维导图分享给大家 还好, mybatis 为我们提供了强大的代码生成--MybatisGenerator。 通 阅读全文
posted @ 2020-12-18 21:50 公众号程序员白楠楠 阅读(123) 评论(0) 推荐(0) 编辑
摘要:tar 命令 副本(本机备份整个系统,以后还原还是还原到本机) 注意根目录下要有充足的可用空间用于备份。 cd / #tar.gz格式 tar cvpzf system_backup.tar.gz / --exclude=/proc --exclude=/lost+found --exclude=/ 阅读全文
posted @ 2020-12-17 16:27 公众号程序员白楠楠 阅读(390) 评论(0) 推荐(0) 编辑
摘要:前言 关于SpringBoot知识点总结了一个思维导图,分享给大家 SpringBoot内部提供了特有的注解:条件注解(Conditional Annotation)。比如: @ConditionalOnBean、 @ConditionalOnClass、 @ConditionalOnExpress 阅读全文
posted @ 2020-12-17 15:38 公众号程序员白楠楠 阅读(252) 评论(0) 推荐(0) 编辑
摘要:前言 软件开发springboot项目过程中,不可避免的需要处理各种异常,spring mvc 架构中各层会出现大量的try {...} catch {...} finally {...} 代码块,不仅有大量的冗余代码,而且还影响代码的可读性。这样就需要定义个全局统一异常处理器,以便业务层再也不必处 阅读全文
posted @ 2020-12-16 16:08 公众号程序员白楠楠 阅读(112) 评论(0) 推荐(0) 编辑
摘要:最近在做题库系统,由于在题库中添加了重复的试题,所以需要查询出重复的试题,并且删除掉重复的试题只保留其中1条,以保证考试的时候抽不到重复的题。 关于MySQL的知识点总结了一个思维导图,希望对大家所有帮助! 首先写了一个小的例子: 一、单个字段的操作 这是数据库中的表: 分组介绍: Select 重 阅读全文
posted @ 2020-12-16 14:50 公众号程序员白楠楠 阅读(215) 评论(0) 推荐(0) 编辑
摘要:基本概念 流式查询指的是查询成功后不是返回一个集合而是返回一个迭代器,应用每次从迭代器取一条查询结果。流式查询的好处是能够降低内存使用。 如果没有流式查询,我们想要从数据库取 1000 万条记录而又没有足够的内存时,就不得不分页查询,而分页查询效率取决于表设计,如果设计的不好,就无法执行高效的分页查 阅读全文
posted @ 2020-12-15 22:27 公众号程序员白楠楠 阅读(264) 评论(0) 推荐(0) 编辑
摘要:前言 如果说 Java 工程师,有什么一定要“死磕”拿下的东西,那一定是 Spring 无疑了。众所周知,Spring 无论在 Java 生态系统,还是在就业市场, Spring Boot、Spring Framework、Spring Data、Spring Cloud、Spring Securi 阅读全文
posted @ 2020-12-12 20:13 公众号程序员白楠楠 阅读(609) 评论(0) 推荐(1) 编辑
摘要:都知道 HTTPS 安全,可是为什么安全呢?看小电影还是浏览正常网站,一定要检查是不是 HTTPS 的,HTTP有可能被中间人攻击和拦截,下面就是详细的 HTTPS 原理,帮你解惑 HTTPS 为啥安全? 1. HTTP 协议 在谈论 HTTPS 协议之前,先来回顾一下 HTTP 协议的概念。 1. 阅读全文
posted @ 2020-12-11 22:04 公众号程序员白楠楠 阅读(387) 评论(2) 推荐(1) 编辑
摘要:前言 招聘黄金季,大厂每月都要吸纳几十名 Java 开发,对普通人来说,那可是几十张通往财务自由的船票。经验要求一般 3 年起,但很多 3 年经验的 Java,却在一面就挂得很惨。Java 3 年的“坎”,究竟是什么呢?耐心看完,一定对你有帮助。 技术岗,不是靠工作年限吃饭的岗位。3年经验是个幌子, 阅读全文
posted @ 2020-12-11 21:15 公众号程序员白楠楠 阅读(162) 评论(0) 推荐(0) 编辑
摘要:在一些网络服务的系统中,Redis 的性能,可能是比 MySQL 等硬盘数据库的性能更重要的课题。比如微博,把热点微博[1],最新的用户关系,都存储在 Redis 中,大量的查询击中 Redis,而不走 MySQL。 那么,针对 Redis 服务,我们能做哪些性能优化呢?或者说,应该避免哪些性能浪费 阅读全文
posted @ 2020-12-11 17:25 公众号程序员白楠楠 阅读(409) 评论(0) 推荐(0) 编辑
摘要:最近项目中不少表的数据量越来越大,并且导致了一些数据库的性能问题。因此想借助一些分库分表的中间件,实现自动化分库分表实现。调研下来,发现Sharding-JDBC目前成熟度最高并且应用最广的Java分库分表的客户端组件。 本文主要介绍一些Sharding-JDBC核心概念以及生产环境下的实战指南,旨 阅读全文
posted @ 2020-12-10 23:24 公众号程序员白楠楠 阅读(747) 评论(0) 推荐(0) 编辑
摘要:下载地址...... 关注公众号:程序员白楠楠,领取。 图书简介...... 本书是设计模式领域公认的3本经典著作之一,“极具趣味,容易理解,但讲解又极为严谨和透彻”是本书的写作风格和方法的最大特点。第1版2010年出版,畅销至今,广受好评,是该领域的里程碑著作。深刻解读6大设计原则和28种设计模式 阅读全文
posted @ 2020-12-10 16:03 公众号程序员白楠楠 阅读(663) 评论(0) 推荐(0) 编辑
摘要:为什么我们写的代码都是 if-else? 异常逻辑处理型重构方法实例一 异常逻辑处理型重构方法实例二 异常逻辑处理型重构方法实例三 异常逻辑处理型重构方法实例四 状态处理型重构方法实例一 状态处理型重构方法实例二 总结 为什么我们写的代码都是 if-else? 程序员想必都经历过这样的场景:刚开始自 阅读全文
posted @ 2020-12-09 20:10 公众号程序员白楠楠 阅读(215) 评论(0) 推荐(0) 编辑
摘要:利用java8新特性,可以用简洁高效的代码来实现一些数据处理。 定义1个Apple对象: public class Apple { private Integer id; private String name; private BigDecimal money; private Integer n 阅读全文
posted @ 2020-12-09 16:36 公众号程序员白楠楠 阅读(656) 评论(0) 推荐(0) 编辑
摘要:我把大学四年Java学习路线规划, 所有私藏资料我都贡献出来了, 几乎覆盖了Java整个技术栈! 划重点!这份Java资源中包括: Java、面向对象、多态、接口、IDEA、异常、集合框架、IO流、多线程、企业级框架、HTML、数据库、Java web、项目实战、GitHub、Spring、多线程、 阅读全文
posted @ 2020-12-09 15:41 公众号程序员白楠楠 阅读(147) 评论(0) 推荐(0) 编辑
摘要:本文的面试题如下: Redis 持久化机制 缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题 热点数据和冷数据是什么 Memcache与Redis的区别都有哪些? 单线程的redis为什么这么快 redis的数据类型,以及每种数据类型的使用场景,Redis 内部结构 redis的过期策略以及内 阅读全文
posted @ 2020-12-08 21:28 公众号程序员白楠楠 阅读(1203) 评论(1) 推荐(0) 编辑
摘要:前言 代码 优化 ,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?没用,但是,吃的小虾米一多之后,鲸鱼就被喂饱了。 代码优化也是一样,如果项目着眼于尽快无BUG上线,那 阅读全文
posted @ 2020-12-08 16:08 公众号程序员白楠楠 阅读(232) 评论(0) 推荐(0) 编辑
摘要:前言 今天跟大家分享下SpringBoot 常见高频面试题的知识。 下面是小编关于SpringBoot的知识点总结了一个思维导图,希望对大家所有帮助! 话不多说,下面我们开始正题: 1. 什么是SpringBoot? 通过Spring Boot,可以轻松地创建独立的,基于生产级别的Spring的应用 阅读全文
posted @ 2020-12-07 21:08 公众号程序员白楠楠 阅读(1055) 评论(0) 推荐(0) 编辑
摘要:前言 SpringMVC请求处理相信大家都很熟悉了,本篇主要是基于SpringMVC处理请求的流程来阅读并调试源码,以及解决几个仅靠流程图无法解释的问题。 关于Spring MVC的流程思维导图分享给大家: Spring系列的学习笔记和面试题,包含spring面试题、spring cloud面试题、 阅读全文
posted @ 2020-12-07 20:02 公众号程序员白楠楠 阅读(217) 评论(0) 推荐(1) 编辑
摘要:概要 本文的目的是搞清楚Java中各种日志Log之间是怎么的关系,如何作用、依赖,好让我们平时在工作中如果遇到“日志打不出”或者“日志jar包冲突”等之类的问题知道该如何入手解决,以及在各种场景下如何调整项目中的各个框架的日志输出,使得输出统一。 Log日志体系 在日常工作中我们可能看到项目中依赖的 阅读全文
posted @ 2020-12-06 20:29 公众号程序员白楠楠 阅读(73) 评论(0) 推荐(0) 编辑
摘要:产生一个指定大小的随机内容文件 一个文件什么情况下才会被删除? 如何释放已经被删除文件占用的空间? 总结 在Linux,你是不是曾经天真的以为,使用rm删除一个文件,占用的空间就释放了?事情可能不是常常如人意。 产生一个指定大小的随机内容文件 我们先看一下当前各个挂载目录的空间大小: $ df -h 阅读全文
posted @ 2020-12-06 15:43 公众号程序员白楠楠 阅读(139) 评论(0) 推荐(0) 编辑
摘要:Tomcat性能调优 找到Tomcat根目录下的conf目录,修改server.xml文件的内容。对于这部分的调优,我所了解到的就是无非设置一下Tomcat服务器的最大并发数和Tomcat初始化时创建的线程数的设置,当然还有其他一些性能调优的设置,下图是我根据我机子的性能设置的一些参数值,给各位详细 阅读全文
posted @ 2020-12-04 16:15 公众号程序员白楠楠 阅读(333) 评论(0) 推荐(0) 编辑
摘要:本文主要讲述了在传统电商企业中,订单系统应承载的角色,就订单系统所包含的主要功能模块梳理了设计思路,并对订单系统未来的发展做了一些思考。 1. 订单系统在企业中的角色 在搭建企业订单系统之前,需要先梳理企业整体业务系统之间的关系和订单系统上下游关系,只有划分清业务系统边界,才能确定订单系统的职责与功 阅读全文
posted @ 2020-12-03 17:02 公众号程序员白楠楠 阅读(540) 评论(0) 推荐(0) 编辑
摘要:前言 发现网上很多Java面试题都没有答案,所以花了很长时间搜集整理出来了这套Java面试题大全,希望对大家有帮助哈~ 本套Java面试题大全,全的不能再全,哈哈~ 这份面试题的包含的模块分为19个模块,分别是: Java 基础、容器、多线程、反射、对象拷贝、Java Web 、异常、网络、设计模式 阅读全文
posted @ 2020-12-03 16:07 公众号程序员白楠楠 阅读(1530) 评论(0) 推荐(0) 编辑
摘要:本地事务 事务Transaction由一组SQL组成,具有四个ACID特性 ACID Atomicity 原子性 构成事务的一组SQL,要么全部生效,要么全不生效,不会出现部分生效的情况 Consistency 一致性 数据库经过事务操作后从一种状态转变为另一个状态。可以说原子性是从行为上描述,而一 阅读全文
posted @ 2020-12-03 14:39 公众号程序员白楠楠 阅读(1302) 评论(0) 推荐(0) 编辑
摘要:关于JVM系列面试知识点总结了一个思维导图,分享给大家 McGovernTheory在StackOverflow提了这样一个问题: Java虚拟机最多支持多少个线程?跟虚拟机开发商有关么?跟操作系统呢?还有其他的因素吗? Eddie的回答: 这取决于你使用的CPU,操作系统,其他进程正在做的事情,你 阅读全文
posted @ 2020-12-02 22:25 公众号程序员白楠楠 阅读(301) 评论(0) 推荐(0) 编辑
摘要:1. 案例分析 1.1 案例场景 假设银行提供了一些 API 接口,对参数的序列化有点特殊,不使用 JSON,而是需要我们把参数依次拼在一起构成一个大字符串 按照银行提供的API文档顺序,将所有的参数构成定长的数据,并且拼接在一起作为一整个字符串 因为每一种参数都有固定长度,未达到长度需要进行填充处 阅读全文
posted @ 2020-12-01 21:40 公众号程序员白楠楠 阅读(197) 评论(0) 推荐(0) 编辑
摘要:概述 对于Spring和SpringBoot到底有什么区别,我听到了很多答案,刚开始迈入学习SpringBoot的我当时也是一头雾水随着经验的积累、我慢慢理解了这两个框架到底有什么区别。 相信对于用了SpringBoot很久的同学来说,还不是很理解SpringBoot到底和Spring有什么区别,看 阅读全文
posted @ 2020-12-01 20:36 公众号程序员白楠楠 阅读(513) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示