- 博客(96)
- 资源 (29)
- 问答 (2)
- 收藏
- 关注
原创 Java-JUC入门
***一、线程池提供了一个线程队列,队列中保存着所有等待状态的线程。避免了创建与销毁额外开销,提高了响应的速度。**二、线程池的体系结构负责线程的使用与调度的根接口*|--**ExecutorService子接口线程池的主要接口*|--ThreadPoolExecutor线程池的实现类*|--ScheduledExecutorService子接口负责线程的调度。...
2022-07-27 16:53:14
349
原创 enterprise architect绘画ER图
ER图的实体(entity)即数据模型中的数据对象,例如人、学生、音乐都可以作为一个数据对象,用长方体来表示,每个实体都有自己的实体成员(entity member)或者说实体对象(entity instance),例如学生实体里包括张三、李四等,实体成员(entity member)/实体实例(entity instance) 不需要出现在ER图中。 ER图的属性(attribute)即数据对象所具有的属性,例如学生具有姓名、学号、年级等属性,用椭圆形表示,属性分为唯一属性( unique attrib
2021-12-15 14:53:03
6023
1
原创 什么是缓存雪崩、缓存击穿、缓存穿透,三者解决方案
1.缓存雪崩:redis缓存数据库中,同一时刻大量缓存key失效,造成,大量用户请求,直接访问数据库(DB),造成数据库无法支撑(如图1) 缓存雪崩解决方案: 1.设置缓存时间,不要再同一时间失效,随机初始化过期时间 2.redis热点的key 分别在不同节点上 3.不设置过期时间(比较暴力) 4.写个定时任务刷新缓存,3小时过期,在key失效前,更新key 5.使用布隆过滤器或布谷鸟过滤器(推荐) 2.缓存穿透:恶意用户或黑客,使用数据库或redis数据库中没有字段进行查询,造成redis中..
2021-11-05 16:08:02
1641
原创 java最强图片弱化源码&&详细注释-----从此告别单身
package com.sirius.utils; import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; /** * className:MyFontImage * Description:图片弱化 * * @author:yanmh */ public class.
2020-06-06 17:00:23
418
原创 Java的基础类型Double三个基础常量
/** * className:HelloWorld * Description:Java的基础类型Double三个基础常量 * * @author:yanmh */ public class HelloWorld { public static void main(String[] args) { System.out.println(":::::"); /** * A constant holding the positive in.
2020-05-14 09:37:26
1311
原创 Java_遍历 HashMap 集合的 5 种方法
package com.sirius.aggregate; import javax.xml.transform.Source; import java.util.HashMap; import java.util.Iterator; import java.util.Map; /** * className:hashMapErgodic * Descript...
2020-04-02 09:05:48
342
原创 高可用数据库主从复制延时的解决
MySQL主从复制的延时一直是业界困扰已久的问题。延时的出现会降低主从读写分离的价值,不利于数据实时性较高的业务使用MySQL。 UDB是UCloud推出的云数据库服务,上线已达六年,运营了数以万计的UDB MySQL实例。除了提供高可用、高性能、便捷易用的产品特性,团队还平均每天帮助用户解决2-3起MySQL实例主从复制延时的问题。从大量实践中我们总结了主从复制延时的各种成因和解决方法,...
2019-05-12 17:30:07
507
原创 RabbitMQ和Kafka到底怎么选
前言 前一篇文章《RabbitMQ和Kafka到底怎么选?》,我们在吞吐量方面比较了Kafka和RabbitMQ,知道了Kafka的吞吐量要高于RabbitMQ。本文从可靠性方面继续探讨两个队列的差异。 RabbitMQ可靠性 我们通过前文知道,RabbitMQ的队列分为master queue和mirror queue,mirror queue 在master queue宕机之...
2019-05-12 17:28:09
452
原创 06_Hibernate-----二级缓存
第6章 二级缓存 Hibernate缓存 Hibernate维护了两个级别的缓存,一个是线程级别的一级缓存,一个是进程级别的二级缓存。其中一级缓存是由Session对象维护的,二级缓存是由SessionFactory维护的。 Web应用中的进程和线程 在Web应用中Servlet容器也就是服务器的运行对应一个大的进程,而具体每一个请求的处理则是由线程执行的。所以线程级别的一级缓存只能...
2019-05-12 17:07:49
383
原创 05_Hibernate ------检索方式
第5章 检索方式 概述 Hibernate提供了以下几种检索对象的方式 ●OID检索方式:按照对象的OID来检索对象get/load ●对象图导航检索方式:根据已经加载的对象导航到其他对象 order.getCustomer().getCustomerName(); ●HQL检索方式:使用面向对象的HQL(Hibernate Query Language)查询语言...
2019-05-12 17:05:55
243
原创 Mybatis----------逆向工程
1.概念 ①正向工程:Java类→数据库表 MyBatis不支持 ②逆向工程:数据库表→Java类 2.操作步骤 ①创建一个专门的工程用于生成Java文件 ③创建generatorConfig.xml 说明信息参见:mybatis-generator-core-1.3.2的官方文档 ④简单版context标签设置:targetRuntime="MyBatis3Simple" default...
2019-05-12 17:03:08
466
原创 04_Hibernate----ORM映射:单向多对一
第04章 ORM映射:单向多对一 映射关系总览 ①单类→单表 ②单向n对1 ③双向1对n ④1对1基于外键 ⑤1对1基于主键 ⑥单向多对多 ⑦双向多对多 概念 多对一 生活中有很多数据直接是多对一的关联关系,例如:多个Order对应一个Customer。 关联的方向 关联是有方向的。如果从Order对象中能够获取到Customer对象,而从Custo...
2019-05-12 17:01:47
316
原创 03_Hibernate------单表映射
第03章 单表映射 单类→单表的映射 ①映射主键 ②映射日期类型 ③数据类型映射对照表 Hibernate中主键生成方式 hilo ①由Hibernate根据high/low算法生成主键 ②hilo标识符生成器在生成标识符时,需要读取并修改HI_TABLE表中的NEXT_VALUE值 ③完全不依赖于任何数据库系统 ④OID必须为long、int或short类型,如果为by...
2019-05-12 16:59:48
393
原创 02_Hibernate-----Session
第02章 Session Session概述 Session接口是Hibernate向应用程序提供的操纵数据库的最主要的接口,它提供了基本的保存、更新、删除和加载Java对象的方法。 每一个Session对象都在内存中维护了一个缓存,位于缓存中的对象称为持久化对象,它和数据库表中的相关记录保持着一种对应关系。通过Session缓存,Hibernate最大限度的减少了应用程序访问数据库...
2019-05-12 16:57:11
280
原创 01_Hibernate-----概述
第01章 Hibernate Hibernate名片 Hibernate是一款工作在持久化层的大型、开源、免费的ORM框架。 持久化 ①狭义:将数据从“不可掉电”设备保存到“可以掉电”的设备上 ②广义:指与数据库相关的一切操作。 [1]保存:对应标准SQL中的INSERT语句。 [2]删除:对应标准SQL中的DELETE语句。 [3]更新:对应标准SQL中的UPDATE语句。...
2019-05-12 16:54:56
275
原创 Mysql优化
MySQL优化.. 1 1. 我们可以且应该优化什么?.. 2 2. 优化硬件.. 2 3. 优化磁盘.. 2 4. 优化操作系统.. 3 5. 选择应用编程接口.. 3 6. 优化应用.. 3 7. 应该使用可移植的应用.. 4 8. 如果你需要更快的速度.. 4 9. 优化MySQLD. 4 10. 编译...
2019-05-12 16:46:48
266
原创 Mybatis---------整合Spring
1.Spring整合持久化层框架惯例 ①引入外部属性文件 ②配置数据源 ③将数据源装配给SqlSessionFactory ④配置声明式事务 2.Spring整合MyBatis时的特殊设置 ①专门jar包 mybatis-spring-1.2.2.jar http://www.mybatis.org/spring/zh/index.html 插件说明文档 ②org.mybatis.sp...
2019-05-11 15:40:35
339
原创 Mybatis-----查询缓存
1.MyBatis默认提供了SqlSession级别的一级缓存。同样的数据查询得到后会被缓存起来,下次再次访问时不必重新查询数据库 2.一级缓存测试 ①有效的一级缓存测试 ②失败的一级缓存测试 ※面试相关 [1]SQL语句或查询条件不同 [2]分属不同SqlSession对象 [3]查询前执行clearCache() [4]提交事务 3.配置MyBatis自带二级缓存 ①entity必须实现Ser...
2019-05-11 15:39:23
267
原创 Mybatis-----关联关系
1.对一 ①使用association和javaType配合起来,查询Order对象的同时查询关联的Customer对象 ②使用association和select配合起来,分两条SQL语句先查询Order再查询Customer 需要在CustomerMapper中创建一个根据cust_id查询Customer对象的专门方法 2.延迟加载 ①效果说明:查询Order时先不查询关联的Customer...
2019-05-11 15:36:42
272
原创 Mybatis----动态Sql
1.概述 One of the most powerful features of MyBatis has always been its Dynamic SQL capabilities. If you have any experience with JDBC or any similar framework, you understand how painful it is to condi...
2019-05-11 15:35:23
278
原创 Mybatis--------mapper配置文件介绍
1.获取自增主键 ①MySQL:以自增的方式生成主键 <insert id="saveCustomer" parameterType="Customer" useGeneratedKeys="true" keyProperty="custId"> INSERT INTO tbl_cust (cust_name, cust_age) VALUES (#{custName}, #{c...
2019-05-11 15:30:08
327
原创 Mybatis----config配置文件介绍
1.简要说明 The MyBatis configuration contains settings and properties that have a dramatic effect on how MyBatis behaves. MyBatis的XML配置文件包含了影响MyBatis行为甚深的设置和属性信息。 2.properties <properties resource="jdb...
2019-05-11 15:25:53
416
原创 Mybatis-----实验小结
1 第一个入门case的小结 ① XXXMapper.xml文件中,namespace必须是接口全路径 ② XXXMapper.xml中的id必须是接口里面的方法名 ,两者一致 ③ XXXMapper.xml中的parameterType类型必须和对应方法的形参一致 ④ XXXMapper.xml中的resultType类型必须和对应方法的返回值类型一致 ⑤ 每个线程都应该有它自己的SqlSess...
2019-05-11 15:20:55
3742
原创 Mybatis-------环境搭建
1.导入jar包 asm-3.3.1.jar c3p0-0.9.1.2.jar cglib-2.2.2.jar commons-logging-1.1.1.jar ehcache-core-2.6.8.jar javassist-3.17.1-GA.jar log4j-1.2.17.jar log4j-api-2.0.2.jar log4j-core-2.0.2.jar ...
2019-05-11 15:19:32
427
原创 MyBatis-----------概述
1.Why? 为什么要使用MyBatis? 已经有Hibernate了,为什么还要使用MyBatis? MyBatis到底有什么优势呢? 2.What? ①MyBatis前身:iBatis——"Internet"和"abatis"的组合,是一个基于Java的持久化层框架。 ②iBatis最早是由Apache负责维护的,后来迁移到了Google Co...
2019-05-11 15:14:16
242
原创 SpringMVC------------RESTRUL_CRUD
RESTRUL_CRUD RESTRUL_CRUD_需求 显示所有员工信息 URI:emps 请求方式:GET 显示效果 添加员工信息 显示添加页面: URI:emp 请求方式:GET 显示效果 添加员工信息: URI:emp 请求方式:POST 显示效果:完成添加,重定向到 list 页面。 删除操作 URL:emp/{id} 请求方式:DELETE 删...
2019-05-11 15:04:50
256
原创 c3p0连接池配置
<!-- c3p0连接池配置 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="user" value="${username}"/> <property name="password" value="${pass...
2019-05-03 16:47:53
429
原创 SpringMVC--------拦截器
拦截器 自定义拦截器概述 Spring MVC也可以使用拦截器对请求进行拦截处理,用户可以自定义拦截器来实现特定的功能,自定义的拦截器必须实现HandlerInterceptor接口 preHandle():这个方法在业务处理器处理请求之前被调用,在该方法中对用户请求 request 进行处理。如果程序员决定该拦截器对请求进行拦截处理后还要调用其他的拦截器,或者是业务处理器去进行处理,则...
2019-05-03 16:45:00
279
原创 SpringMVC运行流程图解
SpringMVC运行流程图解 流程图 Spring工作流程描述 用户向服务器发送请求,请求被SpringMVC 前端控制器 DispatcherServlet捕获; DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI): 判断请求URI对应的映射 不存在: 再判断是否配置了mvc:default-servlet-handler: ...
2019-05-03 16:40:42
478
原创 Spring整合SpringMVC_提出问题
Spring整合SpringMVC_提出问题 Spring 与SpringMVC的整合问题: 需要进行 Spring 整合 SpringMVC 吗 ? 还是否需要再加入 Spring 的 IOC 容器 ? 是否需要在web.xml 文件中配置启动 Spring IOC 容器的 ContextLoaderListener ? 需要: 通常情况下, 类似于数据源, 事务, 整合其他框架都是...
2019-05-03 16:39:09
217
原创 SpringMVC----- @ModelAttribute注解
@ModelAttribute注解 @ModelAttribute注解之使用场景 @ModelAttribute注解之示例代码 在方法定义上使用 @ModelAttribute 注解:Spring MVC 在调用目标处理方法前,会先逐个调用在方法级上标注了 @ModelAttribute 的方法。 在方法的入参前使用 @ModelAttribute 注解:可以从隐含对象中获取...
2019-05-03 16:18:02
448
原创 SpringMVC-----------响应数据传出
响应数据传出 SpringMVC 输出模型数据概述 提供了以下几种途径输出模型数据: ModelAndView: 处理方法返回值类型为 ModelAndView 时, 方法体即可通过该对象添加模型数据 Map 及 Model: 入参为 org.springframework.ui.Model、 org.springframework.ui.ModelMap 或 java.uti.Map 时,...
2019-05-03 16:16:12
375
原创 SpringMVC--------请求数据传入
请求数据传入 请求处理方法签名 Spring MVC 通过分析处理方法的签名,HTTP请求信息绑定到处理方法的相应人参中。 Spring MVC 对控制器处理方法签名的限制是很宽松的,几乎可以按喜欢的任何方式对方法进行签名。 必要时可以对方法及方法入参标注相应的注解( @PathVariable 、@RequestParam、@RequestHeader 等)、 Spring MVC 框架...
2019-05-03 16:10:48
309
原创 SpringMVC-------------HiddenHttpMethodFilter (REST)
HiddenHttpMethodFilter (REST) REST即表述性状态传递(英文:Representational State Transfer,简称REST)是Roy Fielding博士在2000年他的博士论文中提出来的一种软件架构风格。 它是一种针对网络应用的设计和开发方式,可以降低开发的复杂性,提高系统的可伸缩性。 目前在三种主流的Web服务实现方案中,...
2019-05-03 16:09:27
448
原创 SpringMVC 概述
SpringMVC框架的核心内容 1.SpringMVC 概述 2.SpringMVC 的 HelloWorld 3.使用 @RequestMapping 映射请求 4.映射请求参数 & 请求头 5.处理模型数据 6.视图和视图解析器 7.RESTful CRUD 8.SpringMVC 表单标签 &处理静态资源 ...
2019-05-03 16:07:44
416
原创 SpringMVC ----@RequestMapping映射
@RequestMapping 映射请求注解 SpringMVC使用@RequestMapping注解为控制器指定可以处理哪些 URL 请求 在控制器的类定义及方法定义处都可标注 @RequestMapping 标记在类上:提供初步的请求映射信息。相对于 WEB 应用的根目录 标记在方法上:提供进一步的细分映射信息。相对于标记在类上的 URL。 若类上未标注 @R...
2019-05-03 16:06:37
453
转载 Spring----------- 声明式事务
事务概述 ●在JavaEE企业级开发的应用领域,为了保证数据的完整性和一致性,必须引入数据库事务的概念,所以事务管理是企业级应用程序开发中必不可少的技术。 ●事务就是一组由于逻辑上紧密关联而合并成一个整体(工作单元)的多个数据库操作,这些操作要么都执行,要么都不执行。 ●事务的四个关键属性(ACID) ○原子性(atomicity):“原子”的本意是“不可再分”,事务的原子性表现为一个...
2019-05-02 20:25:24
222
原创 Spring-----JdbcTemplate
概述 为了使JDBC更加易于使用,Spring在JDBC API上定义了一个抽象层,以此建立一个JDBC存取框架。 作为Spring JDBC框架的核心,JDBC模板的设计目的是为不同类型的JDBC操作提供模板方法,通过这种方式,可以在尽可能保留灵活性的情况下,将数据库存取的工作量降到最低。 可以将Spring的JdbcTemplate看作是一个小型的轻量级持久化层框架,和我们之前使用过...
2019-05-02 20:23:39
759
原创 Spring-----------XML方式配置切面
概述 除了使用AspectJ注解声明切面,Spring也支持在bean配置文件中声明切面。这种声明是通过aop名称空间中的XML元素完成的。 正常情况下,基于注解的声明要优先于基于XML的声明。通过AspectJ注解,切面可以与AspectJ兼容,而基于XML的配置则是Spring专有的。由于AspectJ得到越来越多的 AOP框架支持,所以以注解风格编写的切面将会有更多重用的机会。 配...
2019-05-02 20:22:01
542
IDEA 常用快捷键
2019-04-25
Graph-structure-in-the-Web_2000_Computer-Networks
2019-04-26
idea的安装指南
2019-04-25
Intellij IDEA中建立SSH应用步骤
2019-04-25
Mysql数据库优化详细大全
2019-04-25
angular常用插件
2019-04-25
AngularJS实战第一章
2019-04-25
PMU-Montevideo-2013-Optimizing-MySQL-Configuration
2019-04-25
Lua 入门教程
2019-04-26
第02章 IOC和bean的配置
2019-05-02
关于爬虫如何做js逆向的思路
2019-04-26
Jvm1.8_GC.mmap
2020-04-02
Java OOP.mmap
2020-04-02
Linux内核完全注释(内核版本0.11)及源码
2019-04-26
Google Hacks探索和利用全球信息资源的技巧和工
2019-04-26
MySQL的从入门到精通
2019-04-26
JSX语法及特点介绍_v4
2019-04-25
计算机组织与体系结构(性能设计)第六版
2019-04-26
Git基础用法
2019-04-25
编译器设计(第2版)
2019-04-26
JAVA服务器编程
2019-04-25
Linux基础知识与系统管理课件
2019-04-26
Search_Engine_book搜索引擎
2019-04-26
第03章 AOP前奏
2019-05-02
第01章 Spring概述
2019-05-02
排列组合套票(java实现)
2021-08-11
mac中idea开发工具,多行同列同时编辑,如何实现呢
2021-03-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅