摘要: 优质博文:IT-BLOG-CN 一、四大特性 事务可以看作一个整体,里面的内容要么都执行成功,要么都不成功。不可能存在部分执行成功而部分执行不成功的情况。在MySQL中,常见的存储引擎有InnoDB、Myisam,Memory等。其中InnoDB支持事务transaction,而Myisam,Mem 阅读全文
posted @ 2023-04-16 01:45 Java程序员进阶 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 优质博文:IT-BLOG-CN 一、binlog binlog记录数据库表结构和表数据变更,比如update/delete/insert/truncate/create,它不会记录select。存储着每条变更的SQL语句和XID事务Id等等。binlog日志文件如下: [root@192.168.1 阅读全文
posted @ 2023-04-05 10:47 Java程序员进阶 阅读(501) 评论(0) 推荐(0) 编辑
摘要: 优质博文:IT-BLOG-CN 一直以来,不支持事务是MongoDB一直被诟病的问题,当然也可以说这是NoSQL数据库的一种权衡(放弃事务,追求高性能、高可扩展) 但实质上,MongoDB很早就有事务的概念,但是这个事务只能是针对单文档的,即单个文档的操作是有原子性保证的。 在4.0版本之后,Mon 阅读全文
posted @ 2023-04-01 22:09 Java程序员进阶 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 优质博文:IT-BLOG-CN 一、高可用架构 高可用性HA(High Availability)指的是缩短因正常运维或者非预期故障而导致的停机时间,提高系统可用性。 高可用量化衡量标准: 引出一个SLA的概念。SLA是Service Level Agreement(服务等级协议)的缩写。SLA就是 阅读全文
posted @ 2023-04-01 22:06 Java程序员进阶 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 优质博文:IT-BLOG-CN 一、存储数据格式 MongoDB作为主流的NoSQL数据库之一,使用面向文档的数据存储方式,将数据以JSON和BSON的方式存储在磁盘中。BSON Binary JSON是一种基于JSON的二级制序列化格式,用于MongoDB存储文档并进行远程过程调用,作为网络数据交 阅读全文
posted @ 2023-04-01 21:59 Java程序员进阶 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 优质博文:IT-BLOG-CN 一、存储数据格式 MongoDB作为主流的NoSQL数据库之一,使用面向文档的数据存储方式,将数据以JSON和BSON的方式存储在磁盘中。BSON Binary JSON是一种基于JSON的二级制序列化格式,用于MongoDB存储文档并进行远程过程调用,作为网络数据交 阅读全文
posted @ 2023-03-25 14:17 Java程序员进阶 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 优质博客网站:IT-BLOG-CN 一、简介 MongoDB是一个强大的分布式文件存储的NoSQL数据库,天然支持高可用、分布式和灵活设计。由C++编写,运行稳定,性能高。为WEB应用提供可扩展的高性能数据存储解决方案。主要解决关系型数据库数据量大,并发高导致查询效率低下的问题,通过使用内存代替磁盘 阅读全文
posted @ 2023-03-22 23:16 Java程序员进阶 阅读(390) 评论(0) 推荐(1) 编辑
摘要: JVM(Java Virtual Machine:译为 Java虚拟机)内核: 通常指通过软件模拟的具有完整硬件系统功能的运行在一个完全隔离环境汇总的完整计算机系统。如下: ■ Mware/Visul Box:使用软件模拟物理CPU的指令集; ■ JVM:使用软件模拟 Java字节码指令集;Java 阅读全文
posted @ 2021-12-12 11:32 Java程序员进阶 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 案例一:老年代内存泄漏 某晚八点收到报警邮件,一看是OOM: ​ 打开 hickwall查看指标:JVM各项指标中 老年代在持续增长(从上次发布10月30号到11月10号的 12天 一直在增长,存在内存泄露迹象) ​ 但并没有达到老年代的上限,当时总内存4G,按照默认80%的分配比例,java虚拟机 阅读全文
posted @ 2020-11-28 23:06 Java程序员进阶 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 前言 MyBatis是常见的Java数据库访问层框架。在日常工作中,开发人员多数情况下是使用MyBatis的默认缓存配置,但是MyBatis缓存机制有一些不足之处,在使用中容易引起脏数据,形成一些潜在的隐患。个人在业务开发中也处理过一些由于MyBatis缓存引发的开发问题,带着个人的兴趣,希望从应用 阅读全文
posted @ 2020-11-28 20:57 Java程序员进阶 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG 队列是一个有序列表,可以用数组或是链表来实现。遵循先入先出的原则。 数组模拟环形队列 【1】队列本身是有序列表,若使用数组的结构来存储队列数据,队列数组的声明如下,其中 maxSize 是该队列的最大容量; ​【2】因为队列的输入输出是分别从头和尾来处理的,因此需要两 阅读全文
posted @ 2020-11-24 07:31 Java程序员进阶 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 跟多内容,前往 IT-BLOG 栈的一个实际需求:请输入一个表达式,计算式:[7*2*2-5+1-5+3-3]点击计算【如下图】​请问:计算机底层是如何运算得到结果的? 注意不是简单的把算式列出运算,因为我们看这个算式 7*2*2-5..., 但是计算机怎么理解这个算式的(对计算机而言,它接收到的就 阅读全文
posted @ 2020-11-24 07:28 Java程序员进阶 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 更多内容,移步 IT-BLOG 一、用 Java 自己实现一个 LRU LRU(Least Recently Used:最近最少使用):简单的说,就是保证基本的 Cache容量,如果超过容量则必须丢掉最不常用的缓存数据,再添加最新的缓存。每次读取缓存都会改变缓存的使用时间,将缓存的存在时间重新刷新。 阅读全文
posted @ 2020-11-22 13:36 Java程序员进阶 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 一、Spring Bean 作用域 【1】singleton:该属性在 IOC容器仅创建一个 Bean实例(单例),IOC容器每次返回的是同一个 Bean实例。【2】prototype:该属性在 IOC容器可以创建多个 Bean实例,每次返回的都是一个新的实例。【3】request:该属性仅对 HT 阅读全文
posted @ 2020-11-22 13:30 Java程序员进阶 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 大多数搜索引擎应用都必须具有某种搜索功能,问题是搜索功能往往是巨大的资源消耗,并且它们由于沉重的数据库加载而拖垮你的应用的性能。这就是为什么转移负载到一个外部的搜索服务器是一个不错的注意,Apache Solr 是一个流行的开源搜索服务器,它通过使用类似 REST 的 HTTP API,这就确保你能 阅读全文
posted @ 2020-11-22 13:21 Java程序员进阶 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 网站应用攻击最主要的两个手段:XSS攻击和 SQL注入攻击。此外,常用的 Web应用还包括 CSRF、Session 劫持等手段。 一、XSS 攻击 XSS 攻击即跨站点脚本攻击(Cross Site Script),指黑客通过篡改网页,注入恶意 HTML 脚本,在用户浏览网页时,控制用户浏览器进行 阅读全文
posted @ 2020-11-22 13:15 Java程序员进阶 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 目录 一、简单讲下 Java 的跨平台原理 二、装箱与拆箱 三、实现一个拷贝文件的工具类使用字节流还是字符流 四、介绍下线程池 五、JSP和 Servlet 有哪些相同点和不同点 六、简单介绍一下关系数据库三范式 七、Mysql 数据库的默认的最大连接数 八、说一下 Mysql 和 Oracle 的 阅读全文
posted @ 2020-11-22 13:11 Java程序员进阶 阅读(707) 评论(0) 推荐(0) 编辑
摘要: SpringBoot 用来简化 Spring应用开发,约定大于配置,去繁从简,是由 Pivotal团队提供的全新框架。其设计目的是用来简化新 Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置(有特殊需求可以添加自己的配置覆盖默认配置),从而使开发人员不再需要定义样板化的配置。 阅读全文
posted @ 2020-11-22 13:08 Java程序员进阶 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 更多内容,移步 IT-BLOG 一、Session 和 Cookie 的区别 【1】Cookie 保存在客户端,未设置存储时间的 Cookie,关闭浏览器会话 Cookie 就会被删除;设置了存储时间的 Cookie 保存在用户设备的磁盘中直到过期,同时 Cookie 在客户端所以可以伪造,不是十分 阅读全文
posted @ 2020-11-22 13:05 Java程序员进阶 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 最近社区Java技术进阶群的小伙伴总是会问,如何面试阿里Java技术岗,需要什么条件,做哪些准备;小编就这些问题找到了阿里技术团队中在一线真正带Java开发团队并直接参与技术面试的专家,分享了自身在筛选简历时的要求,面试时经常会问到的问题,以及面试官通过提问是怎样判断面试者技术水平的。 如有Java 阅读全文
posted @ 2020-11-22 13:04 Java程序员进阶 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 一、公司怎么提交的实时任务,有多少 Job Manager、TaskManager 是多少 我们使用 yarn session 模式提交任务;另一种方式是每次提交都会创建一个新的 Flink集群,为每一个 job提供资源,任务之间互相独立,互不影响,方便管理。任务执行完成之后创建的集群也会消失。线上 阅读全文
posted @ 2020-11-22 13:00 Java程序员进阶 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 一、使用 SpringBoot 的步骤 【1】创建 SpringBoot应用,选中自己需要的模块。【2】SpringBoot 已经默认将这些场景配置好,只需要在配置文件中指定少量配置就可以运行起来。【3】编写业务逻辑代码。 二、自动配置原理 我们要了解 SpringBoot帮我们配置了什么?能不能修 阅读全文
posted @ 2020-11-22 12:52 Java程序员进阶 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 这个问题最近在某论坛上非常的火爆,因为这是由腾讯董事局主席兼首席执行官马化腾先生提出的,因此引起了很多小伙伴们的精彩讨论,在公司周报上看到,不知出处。就整理一份,了解下未来的一些动态,都并非个人观点。​一、这其实是两个问题,前一个问题(哪些基础学科的突破会带来巨大改变?)各位都答得蛮好的,我在这简单 阅读全文
posted @ 2020-11-22 10:54 Java程序员进阶 阅读(266) 评论(0) 推荐(0) 编辑
摘要: 对于数据访问层,无论是 SQL 还是 NoSQL,SpringBoot 默认采用整合 Spring Data 的方式进行统一处理,添加大量自动配置,屏蔽了很多设置。引入各种 xxxTemplate,xxxRepository 来简化我们对数据访问层的操作。对我们来说只需要进行简单的设置即可。 一、整 阅读全文
posted @ 2020-11-22 10:36 Java程序员进阶 阅读(9) 评论(0) 推荐(0) 编辑
摘要: 一、SpringBoot日志 选用 SLF4j(接口)和 logback(实现类),除了上述日志框架,市场上还存在 JUL(java.util.logging)、JCL(Apache Commons Logging)、Log4j、Log4j2、SLF4j、jboss-logging 等。Spring 阅读全文
posted @ 2020-11-22 10:22 Java程序员进阶 阅读(1133) 评论(0) 推荐(0) 编辑
摘要: 更多内容,移步 IT-BLOG 一、谈谈你对 SpringBoot 的理解 简单说说我的理解:Java是一个静态语言,相比动态语言,它相对笨重,体现在我们搭建 SSM 框架写一个 Helloword 的时候相当复杂,需要写一大堆的配置。还有在导入 jar包依赖的时候版本号问题,令人头疼。但是,我们有 阅读全文
posted @ 2020-11-22 10:20 Java程序员进阶 阅读(261) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG 一、SpringBoot 默认的错误处理机制 【1】浏览器返回的默认错误页面如下: ​☞ 浏览器发送请求的请求头信息如下:text/html 会在后面的源码分析中说到。 ​【2】如果是其他客户端,默认则响应错误的 JSON字符串,如下所示: ​☞ 其他客户端发送请求的 阅读全文
posted @ 2020-11-22 10:19 Java程序员进阶 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG 一、登录时可能会出现重复提交问题。我们可以通过重定向解决此问题。例如:用户提交的请求为:/user/login,通过 redirect:重定向至 main.html请求。 1 @PostMapping("/user/login") 2 public String lo 阅读全文
posted @ 2020-11-22 10:03 Java程序员进阶 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG 一、Spring Boot全局配置文件 application.properties 与 application.yml 配置文件的作用:可以覆盖 SpringBoot 配置的默认值。 ◀ YML(is not a Markup Language:不仅仅是一个标记语言 阅读全文
posted @ 2020-11-22 09:33 Java程序员进阶 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG 一、模板引擎的思想 模板是为了将显示与数据分离,模板技术多种多样,但其本质都是将模板文件和数据通过模板引擎生成最终的 HTML代码。 二、SpringBoot模板引擎 SpringBoot 推荐的模板引擎是Thymeleaf——>语法简单,功能强大。【1】引入 thy 阅读全文
posted @ 2020-11-22 00:44 Java程序员进阶 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 【问题描述】 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.edu.eduservice.mapper.EduCourseMapper.getPublishCourseInfo 阅读全文
posted @ 2020-11-22 00:43 Java程序员进阶 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG 一、如何定制和修改Servlet容器的相关配置 前言:SpringBoot 在Web 环境下,默认使用的是 Tomact 作为嵌入式的 Servlet容器; ​【1】修改和 server相关的配置(ServerProperties 实现了 EmbeddedServle 阅读全文
posted @ 2020-11-22 00:40 Java程序员进阶 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 一、MyBatis 与 JDBC 的区别 【1】JDBC 是 Java 提供操作数据库的 API;MyBatis 是一个持久层 ORM 框架,底层是对 JDBC 的封装。【2】使用 JDBC 需要连接数据库,注册驱动和数据库信息工作量大,每次都要去创建、关闭、获取JDBC 编程可能的异常进行捕获处理 阅读全文
posted @ 2020-11-22 00:39 Java程序员进阶 阅读(202) 评论(0) 推荐(0) 编辑
摘要: Spring 容器的 refresh() 创建容器 1 //下面每一个方法都会单独提出来进行分析 2 @Override 3 public void refresh() throws BeansException, IllegalStateException { 4 synchronized (th 阅读全文
posted @ 2020-11-22 00:34 Java程序员进阶 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG 一、添加事务配置文件:applicationContext-tx.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/be 阅读全文
posted @ 2020-11-22 00:29 Java程序员进阶 阅读(299) 评论(0) 推荐(0) 编辑
摘要: 更多内容,前往 IT-BLOG 一、核心容器 【1】@Configuration:告诉 Spring 这是一个配置类(配置类=配置文件)【2】@Bean:给容器中注册一个 Bean ;类型为返回值类型,id 默认是用方法名作为 id 也可以通过 value 属性添加 id(相当于 xml 中的 <b 阅读全文
posted @ 2020-11-21 23:46 Java程序员进阶 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 【阅读前提】:需了解 AOP 注解开发流程:链接 一、注解 @EnableAspectJAutoProxy 在配置类中添加注解@EnableAspectJAutoProxy,便开启了 AOP(面向切面编程) 功能。此注解也是了解 AOP 源码的入口。 @EnableAspectJAutoProxy 阅读全文
posted @ 2020-11-21 23:41 Java程序员进阶 阅读(65) 评论(0) 推荐(0) 编辑
摘要: Spring 总共有十几个组件,但是真正核心的组件只有三个:Core、Context 和 Bean。它们构建起了整个 Spring的骨骼架构,没有它们就不可能有 AOP、Web 等上层的特性功能。 一、Spring的设计理念 Bean组件是 Spring核心中的重点,Spring 就是面向Bean编 阅读全文
posted @ 2020-11-21 23:24 Java程序员进阶 阅读(1934) 评论(0) 推荐(0) 编辑
摘要: 一、Maven:是一款服务于 Java平台的自动化构建工具 【1】Maven可以将一个项目按模块划分成不同的工程,利于分工协作;【2】Maven可以将 jar包保存在自己的中央“仓库”中进行统一管理,有需要使用的工程引用这个文件接口即可,不需要真的将 ja包复制过来(解决同样的 jar包文件重复出现 阅读全文
posted @ 2020-11-21 23:09 Java程序员进阶 阅读(408) 评论(0) 推荐(0) 编辑
摘要: 一、Maven 仓库 在 Maven 的世界中,任何一个依赖、插件或者项目构建的输出,都可以称为构建。Maven 在某个统一的位置存储所有项目的共享的构建,这个统一的位置,我们就称之为仓库。任何的构建都有唯一的坐标,即 groupId、artifactId、version 组成的坐标,Maven 根 阅读全文
posted @ 2020-11-21 23:08 Java程序员进阶 阅读(124) 评论(0) 推荐(0) 编辑