自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

IT小小鸟

千里之行,始于足下----IT小小鸟的探索之旅

  • 博客(27)
  • 资源 (3)
  • 收藏
  • 关注

原创 玩儿转nginx——nginx如何处理请求

一个请求来了,nginx首先会判断由哪个server去处理,这里先定义如下三个虚拟server:server { listen 80; server_name example.org www.example.org; ...}server { listen 80; server_name example.net www.example.net; ...}server { listen 80; serv

2020-09-29 14:23:35 851

原创 玩儿转nginx——使用nginx作为HTTP负载均衡器

引言跨多个应用服务器的负载平衡是一种常用的技术,用于优化资源利用、最大化吞吐量、减少延迟和确保容错配置。nginx作为一个高效的HTTP负载均衡器,可以将流量分配到多个应用服务器,提高web应用程序的性能、可伸缩性和可靠性。Nginx负载均衡配置1、nginx支持的负载均衡策略:轮询(round-robin)——请求以循环的方式轮流分发到每个应用服务器最少连接数(least-connected)——请求被分配给活动连接数量最少的服务器对ip进行hash(ip-hash)——对客户端的ip进

2020-09-28 14:37:47 150

原创 玩儿转nginx——配置HTTPS server

一个简单的https server配置server { listen 443 ssl; server_name www.example.com; ssl_certificate www.example.com.crt; ssl_certificate_key www.example.com.key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers

2020-09-27 15:36:41 993

原创 架构之路——Nginx+Tomcat架构图

Java应用程序使用Nginx+Tomcat架构设计

2020-09-26 19:49:20 1115

原创 网络编程——NIO基础

NIO核心组件Buffer 缓冲区Channel 通道Selector 选择器1、Buffer缓冲区Buffer工作原理buffer的简单使用通过下面这个简单代码可以深入理解上面三个参数在每次读或写之后的变化public class BufferDemo { public static void main(String[] args) { // 初始化buffer容量为4字节 ByteBuffer byteBuffer = ByteBuffe

2020-09-26 19:08:19 141

原创 IDEA小技巧——查看Java方法的说明文档

快捷键:Ctrl + Q我们可以用此快捷键快速查看Java方法或者类的说明文档,这样就不用点击到源码类中去看了效果

2020-09-26 00:08:09 1557

原创 网络编程——BIO基本使用

BIO含义BIO简单使用1、客户端:连接本地的8000端口,并发送一个数据到服务器public class BIOClient { public static void main(String[] args) throws IOException { Socket socket = new Socket("localhost", 8000); OutputStream out = socket.getOutputStream(); Scann

2020-09-25 22:33:17 434

原创 网络编程——TCP/UDP协议回顾

OSI网络七层模型各层主要功能TCP协议三次握手与四次挥手机制UDP协议

2020-09-24 21:59:51 90

原创 勿忘初心——JVM调优基础

调优方向常用的JVM调优参数调优思路通用GC参数Parallel收集器调优参数CMS收集器调优参数G1收集器调优参数JIT编译器优化参数

2020-09-24 07:46:39 74

原创 勿忘初心——回顾Java内置命令

Java中常用的内置命令1、javap——Java反编译工具2、 jps——查看当前系统中的Java进程3、jstat—— 监视JVM信息,主要有GC信息等 (★★★★★)使用案例:查看gc情况,每10行重新输出表头,每1秒输出一次jstat -gc -h 10 <进程号> 10004、 jcmd——jps的替代工具(★★★★★)使用案例:1、查看GC堆信息jcmd <pid> GC.heap_info2、查看JVM运行参数jcmd <p

2020-09-22 23:42:34 112

原创 勿忘初心——回顾Java垃圾回收机制

如何判断对象是否可以被回收重点:可达性分析算法PS:Java中引用类型垃圾收集算法Hotspot采用的收集算法垃圾回收器1、 串行收集器2、 并行收集器3、 并发收集器4、 最先进的收集器——G1垃圾收集器的搭配...

2020-09-21 23:29:01 146

原创 勿忘初心——回顾Java类加载机制

类生命周期类加载器双亲委派模型

2020-09-21 21:58:59 78

原创 勿忘初心——ThreadLocal是如何实现线程隔离的

原理图看了图我相信大家已经很明确了,ThreadLocal之所以能达到变量的线程隔离,其实就是每个线程都有一个自己的ThreadLocalMap对象来存储同一个threadLocal实例set的值,而取值的时候也是根据同一个threadLocal实例去自己的ThreadLocalMap里面找,自然就互不影响了,从而达到线程隔离的目的!源码验证(有图有真相)1、验证一:每个线程都有一个自己的ThreadLocalMap对象大家注意看上面的注释:属于当前线程的ThreadLocal值,这个map由T

2020-09-15 22:18:12 896

原创 “云云“众生K8S——hostPath类型的卷挂载

前言容器中的磁盘文件随着容器的生而生,随着容器的死而灭,这给运行在容器中的重要应用来说存在一些问题:当容器崩溃时,kubelet会以初始状态重启容器,会导致容器中的重要文件不复存在当在Pod中运行多个容器时,我们往往需要这些容器共享一些文件于是,K8S便创造了卷——Volumes卷类型之hostPathhostPath类型的卷可以把宿主机节点上的文件或文件夹挂载到pod中先来看看hostPath类型的卷如何配置:apiVersion: v1kind: Podmetadata:

2020-09-15 16:39:55 4183

原创 玩儿转nginx——设置客户端请求体的最大大小

语法client_max_body_size size;默认client_max_body_size 1m;可以放置的位置http模块server模块location模块说明如果客户端请求体超过了设置的大小,则会返回413错误如果设置为0,则不会检测客户端请求体大小...

2020-09-14 14:22:28 1526

原创 Spring框架——springMVC回顾

SpringMVC运行原理SpringMVC参数传递的几种方式1、 服务器向页面传参使用java.util.Map使用org.springframework.ui.Model使用org.springframework.ui.ModelMap使用org.springframework.web.servlet.ModelAndView(建议使用前面三种)import org.springframework.stereotype.Controller;import org.springfra

2020-09-13 13:16:13 111

原创 初识springboot——事务基础

事务特性并发事务可能出现的问题1、 脏读2、 不可重复读3、 幻读事务的隔离级别SpringBoot中事务1、事务注解@Transactional2、事务的传播行为propagation

2020-09-12 13:19:52 182

原创 Mybatis分页插件PageHelper的简单使用

引言实现在controller中实现我们的分页方法如下:/** * 使用PageHelper实现分页 * * @return 分页信息 */ @ResponseBody @GetMapping("/course/list2") public Object list2() { PageHelper.startPage(0, 3); List<VipCourse> all = courseDao.

2020-09-09 21:55:58 221

原创 Spring Data JPA结合Pageable实现分页功能

引言实现在controller中实现我们的分页方法如下:/** * 实现分页列表 * @return */ @ResponseBody @GetMapping("/course/list") public Object list(@RequestParam(name = "pageNum", defaultValue = "0") int pageNum, @RequestParam(name = "

2020-09-09 20:51:29 4798

原创 Spring Data JPA自定义方式实现数据查询

前言上一篇博文Spring Data JPA的简单使用 讲到,如果按照JPA的命名规范,Spring Data Jpa会自动为我们实现数据库相关操作。但如果我们想自己实现数据库相关操作该怎么做?自定义数据库操作使用HQL语句:定义Dao方法,并使用@Query注解写自定义sql,如果是修改类型的SQL,还必须加上@Modifying和@Transactional注解import com.prince.entity.VipCourse;import org.springframework.dat

2020-09-09 00:13:59 1627 1

原创 Spring Data JPA的简单使用

前言什么是Spring DataSpring Data的特点2. 什么是JPA3. Spring Data 与JPA的关系4. Spring Data JPA工作原理Spring Data JPA的简单使用Spring项目的基本配置如下:# 数据库配置spring.datasource.url=jdbc:mysql://localhost:3306/vip_test?serverTimezone=UTC&characterEncoding=utf-8spring

2020-09-08 21:51:49 197

原创 ORM框架——初识Mybatis

Mybatis架构Mybatis工作流程Mybatis封装了JDBC的基本操作Mybatis结构

2020-09-05 23:06:09 131

原创 初识SpringBoot——Spring Data Rest的简单使用

引言使用引入jar包<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-rest</artifactId></dependency>利用jpa生成相关实体类(省略,可以看我上一篇博客:利用JPA自动生成实体类)定义Repository,并实现JpaReposi

2020-09-03 22:15:00 786 1

原创 初识SpringBoot——配置热部署以及利用JPA自动生成实体类

前言热部署设置setting --> Compiler,勾选如下:2. 双击Shift,搜索registry命令,点击进入修改如下3. 进入项目配置,设置如下:利用JPA自动生成实体类配置数据库根据自己数据库配置,填写账号密码等信息2. 在项目中添加JPA上面弹出框后点击确定即可。生成实体类上面的步骤完成后,在IDEA面板左下角会出现Persistence组件,继续设置:完成以上步骤即可在对应包下看到已经生成好的实体类。...

2020-09-03 20:26:28 555

原创 初识SpringBoot——登录拦截器的实现

导语在Spring应用中,某些资源必须要登录后才能查看,这时候我们就需要定义一个登录拦截器,将未登录的用户请求拦截至☞登录页。实现首先定义我们的拦截器,这里需要实现HandlerInterceptor接口:public class LoginHandlerInterceptor implements HandlerInterceptor { /** * 登录拦截器 * @param request * @param response * @par

2020-09-02 21:57:07 1234

原创 初识SpringBoot——设置SpringBoot应用默认首页

一、使用index.html作为欢迎页面1、静态页面SpringBoot 项目在启动后,首先会去静态资源路径(resources/static)下查找 index.html 作为首页文件。2、动态页面如果在静态资源路径(resources/static)下找不到 index.html,则会到 resources/templates 目录下找 index.html(使用 Thymeleaf 模版)作为首页文件。二、使用其他页面作为欢迎页面1、静态页面假设我们在 resources/stati

2020-09-02 21:32:39 10741 2

原创 初识SpringBoot——SpringBoot原理浅析

现象我们都知道,通过IDEA生成一个SpringBoot项目之后,运行包根路径下的XXXApplication类就能启动项目,并且通过localhost:8080端口就能访问我们的应用,不需要任何额外的配置!这相对于一个Spring项目,即使一个简单的功能都需要“大量”的配置来说,简直方便极了!问题那么问题来了,SpringBoot到底为我们做了哪些事情?分析首先我们生成一个SpringBoot项目,包下面会自动多了这样一个类:@SpringBootApplicationpublic clas

2020-09-02 00:08:05 181

centos下使用Nginx+uWsgi部署Python Flask项目的详细配置

在centos系统下,使用Nginx反向代理和uWsgi服务器部署Python Flask项目,这里记录了我配置的整个过程,亲测可用

2017-05-04

myEclipse中详细配置mySql数据库的步骤

如何在myEclipse中配置Oracle数据库,这是一份图文并茂的文档,也是我个人的实践经验,分享给大家。

2015-08-09

myEclipse中详细配置Oracle数据库

如何在myEclipse中配置Oracle数据库,这是一份图文并茂的文档,也是我个人的实践经验,分享给大家。

2015-08-09

空空如也

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

TA关注的人

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