JAVA进阶
文章平均质量分 94
JAVA
造夢先森
一定要努力努力,永不放弃,才可以改变世界,改变自己~
展开
-
Spring Cloud Alibaba实践 --Sentinel
Sentinel的官方标题是:分布式系统的流量防卫兵。从名字上来看,很容易就能猜到它是用来作服务稳定性保障的。对于服务稳定性保障组件,如果熟悉Spring Cloud的用户,第一反应应该就是Hystrix。但是比较可惜的是Netflix已经宣布对Hystrix停止更新。那么,在未来我们还有什么更好的选择呢?除了Spring Cloud官方推荐的resilience4j之外,目前Spring Cloud Alibaba下整合的Sentinel也是用户可以重点考察和选型的目标。原创 2023-12-08 23:04:18 · 1111 阅读 · 0 评论 -
K8s Docker实践三
在Mac桌面上部署多个Kubernetes节点可以使用Minikube工具。Minikube是一个轻量级的Kubernetes工具,它可以在单个主机上创建一个虚拟集群。现在你已经在Mac桌面上成功部署了一个具有两个节点的Kubernetes集群。你可以使用kubectl命令来管理和操作集群。你应该能够看到两个节点的列表。原创 2023-11-26 10:17:19 · 854 阅读 · 0 评论 -
K8s Docker实践二
在上文中我们已经基于K8s实现了最简部署,下面我们对K8s进行深入学习。原创 2023-11-18 00:08:24 · 1381 阅读 · 0 评论 -
K8s Docker实践一
这里我们准备好前面项目。原创 2023-11-01 20:27:27 · 1290 阅读 · 0 评论 -
Web云服务进阶
当我们在使用互联网时,经常会遇到一些需要身份验证或者保持用户状态的情况。为了实现这些功能,常用的方法有使用cookie、session和token。Cookie是服务器发送到用户浏览器并保存在用户本地的一小段数据。它通常用于记录用户的身份认证、浏览历史、购物车信息等。当用户访问同一个网站时,浏览器会将相应的Cookie信息发送给服务器,以便服务器识别用户并提供个性化的服务。Cookie可以设置过期时间,可以是会话级别的(浏览器关闭后失效)或者长期有效的。原创 2023-10-25 15:17:02 · 703 阅读 · 0 评论 -
Mysql 索引原理和优化方式
索引是存储引擎用于快速找到记录的一种数据结构。可以联想到字典中的目录。原创 2023-10-23 20:10:24 · 163 阅读 · 0 评论 -
Spring Boot实践 --Mybatis Interceptor 拦截器应用
通过 MyBatis 提供的强大机制,使用插件是非常简单的,只需实现 Interceptor 接口,并指定想要拦截的方法签名即可。//拦截器具体实现//拦截器的代理类//添加属性@Intercepts // 描述:标志该类是一个拦截器@Signature // 描述:指明该拦截器需要拦截哪一个接口的哪一个方法// @Signature注解中属性:type;// 四种类型接口中的某一个接口,如Executor.class;method;原创 2023-10-21 20:39:43 · 699 阅读 · 0 评论 -
MYSQL进阶
左连接包含左表的所有记录,以及与左表匹配的右表中的记录。其中,学生表中的每个记录都与成绩表中符合条件的记录进行了左连接,如果成绩表中没有与学生表匹配的记录,则右表的值为null。sql标签和include标签一般是一起使用的,sql标签中id属性对应include标签中的refid属性。|104 | null | 语文 | 70 || 学号 | 姓名 | 课程 | 分数 ||101 | 张三 | 语文 | 80 ||101 | 张三 | 数学 | 90 ||102 | 李四 | 语文 | 75 |原创 2023-08-25 21:47:14 · 360 阅读 · 0 评论 -
Spring Boot常用注解
【代码】springboot常用注解。原创 2023-08-25 21:46:33 · 185 阅读 · 0 评论 -
Spring Boot实践八--用户管理系统(下)
首先,实现两个UserService和AsyncUserService两个服务接口:(1)异步任务通过方法上的和启动类的注解实现,@Async中的参数指定了异步任务使用的的线程池。调用异步方法时不会等待方法执行完,调用即过,被调用方法在自己的线程池中奔跑。(2)多线程执行的返回值是Future类型或void。Future是非序列化的,微服务架构中有可能传递失败。spring boot推荐使用的CompletableFuture来返回异步调用的结果。原创 2023-08-25 21:45:03 · 571 阅读 · 0 评论 -
Spring Boot实践八--用户管理系统(中)
登录功能:拿到前端传来的帐号和密码后,去数据库验证,验证成功则返回登录成功页面,并将当前登录用户的Session信息保存下来;首先,我们基于mabatis+redis+mysql实现一个user类数据库增删改查的基本功能。注册功能:返回注册页面,将注册信息存入数据库, 并设置发送邮件标志位为1。登录成功后的页面,如果是管理员,显示所有用户list。填入信息后点击注册,通过html的form表单。点击登录按钮,通过html的form表单。点击注册按钮,通过html的form表单。跳到Controller的。原创 2023-08-18 23:38:14 · 160 阅读 · 0 评论 -
Spring Boot实践八--用户管理系统(上)
本项目是一个基于SpringBoot的用户权限管理系统,主要实现用户的注册、登录、角色管理、权限管理等功能。原创 2023-08-17 20:33:03 · 750 阅读 · 0 评论 -
Spring Boot实践七--API开发(RESTful API、JWT数字签名与Swagger)
下面我们通过使用Spring MVC来实现一组对User对象操作的RESTful API,配合注释详细说明在Spring MVC中如何映射HTTP请求、如何传参、如何编写单元测试。RESTful API具体设计如下:(1)定义User实体注意:相比1.x版本教程中自定义set和get函数的方式,这里使用@Data注解可以实现在编译器自动添加set和get函数的效果。(2)实现对User对象的操作接口。原创 2023-08-07 22:16:18 · 419 阅读 · 0 评论 -
Spring Boot实践六 --定时任务(@Scheduled和Elastic Job)
比如:假设当前线程池配置的最大线程数有2个,这个时候/api-1接口中task1和task2处理速度很慢,阻塞了;造成这种现场的原因是:默认情况下,所有用@Async创建的异步任务都是共用的一个线程池,所以当有一些异步任务碰到性能问题的时候,是会直接影响其他异步任务的。为了解决这个问题,我们就需要对异步任务做一定的线程池隔离,让不同异步任务配置不同线程池,互不影响。可以看到,在上面的单元测试中,一共启动了6个异步任务,前三个用的是线程池1,后三个用的是线程池2。原创 2023-08-02 09:47:38 · 447 阅读 · 0 评论 -
Spring Boot实践五 --异步任务(@Async线程池)
参考:https://blog.didispace.com/spring-boot-learning-2-7-5/原创 2023-07-30 20:25:35 · 361 阅读 · 0 评论 -
Spring Boot实践四 --Redis缓存和Kafka
随着时间的积累,应用的使用用户不断增加,数据规模也越来越大,往往数据库查询操作会成为影响用户使用体验的瓶颈,此时使用缓存往往是解决这一问题非常好的手段之一。Spring 3开始提供了强大的基于注解的缓存支持,可以通过注解配置方式低侵入的给原有Spring应用增加缓存功能,提高数据访问性能。原创 2023-07-30 20:20:39 · 1074 阅读 · 0 评论 -
Spring Boot实践三 --数据库访问(JdbcTemplate、mybatis、JPA Hibernate)
2,在src/main/resources/application.properties中配置数据源信息。原创 2023-07-27 15:48:09 · 1050 阅读 · 0 评论 -
Spring Boot实践二 --Web开发
在之前的示例中,我们通过@RestController来处理请求,所以返回的内容为json对象。那么如果需要渲染html页面的时候,要如何实现呢?在动态HTML实现上,Spring Boot提供了多种模板引擎的默认配置支持,所以在推荐的模板引擎下,我们可以很快的上手开发动态网站。Spring Boot从一开始就建议使用模板引擎,而不是使用JSP。因此,Spring Boot建议使用模板引擎,例如Thymeleaf、Freemarker等,来处理动态内容。原创 2023-07-26 14:12:15 · 617 阅读 · 0 评论 -
Spring Boot实践一 --快速入门
它提供了一种快速、方便的方式来创建基于Spring的应用程序,而无需繁琐的配置。Spring Boot通过自动配置和约定大于配置的方式,使得开发者可以更加专注于业务逻辑的实现,而不是配置文件的编写。简化的配置:Spring Boot提供了一种简单的方式来配置应用程序,可以通过属性文件、YAML文件或命令行参数来配置应用程序。简化的依赖管理:Spring Boot可以自动管理应用程序的依赖关系,避免了版本冲突和依赖管理的烦恼。自动配置:Spring Boot会根据应用程序的依赖关系自动配置应用程序。原创 2023-07-25 10:29:32 · 494 阅读 · 0 评论 -
JAVA设计模式
提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类.抽象工厂模式,也称为工厂的工厂,有一个工厂创建其他工厂。当使用抽象工厂模式时,我们首先使用超级工厂创建工厂,然后使用创建的工厂创建对象。下面我们将要创建形状和打印机。对于形状,我们会有圆形,和矩形。对于打印机,我们将有纸张打印机和网络打印机} }原创 2023-07-15 21:25:29 · 469 阅读 · 0 评论 -
JAVA入门学习实例
Java面向对象中类与对象的概念和使用 构造方法的主要作用 一是用来实例化该类。二是 让该类实例化的时候执行哪些方法,初始化哪些属性。当一个类声明了构造函数以后,JVM 是不会再给该类分配默认的构造函数。 构造方法是一种特殊的方法,具有以下特点。 (1)构造方法的方法名必须与类名相同。 (2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。 (3)构造方法的主要作用原创 2015-05-18 19:59:46 · 1136 阅读 · 1 评论 -
JAVA多线程和并发基础面试问答
JAVA多线程和并发基础面试问答 Java多线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序的单一进程。线程可以被称为轻量级进程。线程需要较少的资源来创建和驻留在进程中,并且可以共享进程原创 2015-05-17 19:10:50 · 567 阅读 · 0 评论 -
JAVA重要知识点
JAVA虚拟机:执行java字节码的虚拟机进程(java虚拟机知道底层硬件平台的指令长度和其它特性,使得java程序运行在任意平台成为可能)指令javac与java: javac:编译 java:运行JDK与JRE: JDK:java开发工具包与运行环境(包含JRE、编译器和其他工具:如JavaDoc、java调试器) JRE:java运行环境(将要执行java程序的虚拟机,同时包含了执行a原创 2015-11-20 11:02:53 · 1076 阅读 · 0 评论 -
java面试知识点
Java面试知识点 java面向对象的三个基本特征、五种设计原则java语言优点、java虚拟机JVM垃圾回收机制 GC内存泄漏、内存调优Java集合类、HasnMap原理、相关问题Vector,ArrayList, LinkedList的区别HashTable, HashMap,TreeMap,ConcurrentHashMap区别?java设计模式java泛型,反射机制j2e原创 2016-09-03 22:39:27 · 1291 阅读 · 0 评论