自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Excel VBA 连接SAP HANA库

最近工作上有个需求,EXCEL VBA 连接 SAP HANA 库,百度谷歌都没有资料.于是自己到官网找,在SAP HANA ODBC DOCUMENT里找到了例子.最终成功连上了HANA数据库.话不多说,链接如下.我们都知道EXCEL VBA若要连接mysql,oracle等数据库,其中有种方式是通过odbc连接.也就是要先在自己的电脑里安装对应数据库的ODBC驱动.然后再ADO配置相应的字符串,就可以连接对应上的数据库.

2023-07-20 22:19:55 553

原创 定义公共 springboot starter 包

参考文章其实有四种方式,一般使用前两种。第一种就如参考文章写的,将starter包配置类添加到如下配置文件。第二种方式:在starter增加自定义注解 ,然后再启动类中引入注解。//自定义注解@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Import(AutoConfigurationTest.class)public @interface EnableHello {}@Sprin

2021-11-15 15:45:47 343

原创 Java IO模型

参考文章https://zhuanlan.zhihu.com/p/115912936https://blog.csdn.net/wteruiycbqqvwt/article/details/90299610https://time.geekbang.org/column/article/100307I/O 就是计算机内存与外部设备之间拷贝数据的过程。我们知道 CPU 访问内存的速度远远高于外部设备,因此 CPU 是先把外部设备的数据读到内存里,然后再进行处理。I/O 模型是为了解决内存和外部设备速

2021-10-15 17:00:42 112

原创 tomcat架构

参考文章https://time.geekbang.org/column/article/96328https://time.geekbang.org/column/article/96764一、目标:学到 Tomcat 的总体架构,学会从宏观上怎么去设计一个复杂系统,怎么设计顶层模块,以及模块之间的关系;为我们深入学习 Tomcat 的工作原理打下基础。二、Tomcat 总体架构首先是要了解需求。 Tomcat 要实现 2 个核心功能:处理 Socket 连接,负责网络字节流与 Re

2021-10-14 17:04:52 146

原创 tomcat实现servlet规范

参考文章:https://time.geekbang.org/column/article/106180http://www.51gjie.com/javaweb/872.htmlServlet规范: Servlet、Filter、ListenerContext管理这三兄弟。Servlet管理Tomcat 是用 Wrapper 容器来管理 Servlet 的,那 Wrapper 容器关键的成员变量:protected volatile Servlet instance = null;一个

2021-10-14 14:41:36 503

原创 tomcat打破双亲委派机制

参考文章:https://time.geekbang.org/column/article/95808https://time.geekbang.org/column/article/105711WebAppClassLoader,tomcat可以部署多个web应用,确保不同的web同名的servlet都能被加载。在context 实例化的时候创建。SharedClassLoader不同的web共用同样的jar,只加载一次。CatalinaClassLoader隔离tomcat类和web应

2021-10-14 11:45:38 189

原创 tomcat的热部署和热加载的实现

参考文章https://time.geekbang.org/column/article/104423热加载的实现方式是 Web 容器启动一个后台线程,定期检测类文件的变化,如果有变化,就重新加载类,在这个过程中不会清空 Session ,一般用在开发环境。热部署原理类似,也是由后台线程定时检测 Web 应用的变化,但它会重新加载整个 Web 应用。这种方式会清空 Session,比热加载更加干净、彻底,一般用在生产环境。tomcat定时任务是怎么实现的?tomcat的热加载和热部署是通过Sche

2021-10-13 17:46:13 270

原创 Spring Boot如何使用内嵌式的Tomcat和 Jetty

参考文章https://time.geekbang.org/column/article/107590在内嵌式的模式下,Bootstrap 和 Catalina 的工作就由 Spring Boot 来做了,Spring Boot 调用了 Tomcat 和 Jetty 的 API 来启动这些组件Spring Boot 中 Web 容器相关的接口WebServer 接口,用于支持多种web容器public interface WebServer { void start() throws

2021-10-13 15:35:05 513

原创 Tomcat组件的创建、初始化,启动

参考文章https://www.cnblogs.com/54chensongxia/p/13236745.htmlhttps://time.geekbang.org/column/article/97308LifeCycle和LifecycleState生命周期Lifecycle 接口里应该定义这么几个方法:init、start、stop 和 destroy,每个具体的组件去实现这些方法在父组件的 init 方法里需要创建子组件并调用子组件的 init 方法。同样,在父组件的 start

2021-10-13 14:04:11 188

原创 tomcat的连接器和容器的调用过程

参考资料https://time.geekbang.org/column/article/100307https://juejin.cn/post/6844903626175954952

2021-10-12 18:13:01 184

原创 2.RestTemplate

RestTemplate是Spring提供的用于访问Rest服务的客户端,可进行Http请求,可发送get请求,post请求,put请求,delete请求,表单提交,通用方法exchange方法中的参数主要有:请求地址,请求参数,可以包含请求头返回值类型.GET请求getForEntity可获取响应头.相应状态码请求参数getForObject无法获取响应头,相应...

2020-02-27 11:34:50 254

原创 MySQL并发参数的调整

从实现上来说,MySQl Server是多线程结构,包括后台线程和客户服务线程.多线程可以有效利用服务器资源,提高数据库的并发性能,在MySQL中,控制并发连接和线程的主要参数包括max_connecttions,back_log,thread_cache_size,table_open_cahce.1.max_connections2.back_log超过最大连接数量,可以有多少个多少个...

2020-01-12 16:57:18 324

原创 MySQL内存优化

1.内存优化原则在给操作系统和其他应用留够足够的内存时,将尽量多的内存分配给MySQL做缓存MyISAM存储引擎的数据文件读取依赖于操作系统自身的IO缓存,因此如果有MyISAM表,就要预留更多的内存给操作系统做IO缓存.排序区/连接区等缓存是分配给每个数据库会话专用的,期末认真的设置要根据最大连接数合理分配,如果设置太大,不但浪费资源,而且在并发连接较高时会导致物理内存耗尽2. My...

2020-01-12 16:32:14 198

原创 从应用层面优化mysql查询

从应用层面优化mysql查询1. 使用连接池频繁的创建连接,关闭连接是比较浪费资源的,我们可以创建数据库连接池,提高访问性能2.减少对MySQL的访问避免对数据库重复的访问,能一次获取到数据,不要用两次去获取.增加缓存层,比如例如mybaits的一级获取或者二级缓存,或者使用redis.负载均衡通过MySQL的主从复制,实现读写分离,使增删改操作走主节点,查询操作走从...

2020-01-11 16:21:18 257

原创 MySQL的查询缓存优化

应用优化使用连接池减少对MySQL的访问避免对数据库重复的访问,能一次获取到数据,不要用两次去获取.增加缓存层,比如例如mybaits的一级获取或者二级缓存,或者使用redis.负载均衡通过MySQL的主从复制,实现读写分离,使增删改操作走主节点,查询操作走从节点,降低单台服务器的读写压力.采用分布式数据库架构.使用负载均衡在多台数据库服务器之间访问,降低单台服...

2020-01-11 16:14:00 171

原创 mysql如何避免索引失效

全值匹配:对索引中所有的列都指定具体值最左前缀法则:查询从索引的最左前列开始,并且不跳过索引中的列.- 是指查询条件包含了哪些索引,跟查询条件的列的位置没有关系.- 假如有ABC三个字段创建了组合索引,查询条件只有A和C,会有A的索引,不会走C的索引.范围查询右边的列不能使用索引--address索引失效了.其中name,status,address是符合索引selec...

2020-01-09 23:30:02 344

原创 JVM,JRE,JDK的区别和联系

一.JVMJVM(Java Virtual Machine):java虚拟机,是运行所有java程序的假想计算机,是java程序的运行环境.我们编写的java代码都运行在JVM中.java语言的跨平台性就是基于JVM实现的.二.JREJRE(Java Runtime Environment):是java程序运行时的环境,包含JVM和运行时所需要的类库.那么这个类库到底是个什么东西呢?就是我...

2020-01-05 16:36:23 211

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除