
spring
zhuguang10
这个作者很懒,什么都没留下…
展开
-
SpringBoot使用prometheus监控
本文介绍SpringBoot如何使用Prometheus配合Grafana监控。1.关于PrometheusPrometheus是一个根据应用的metrics来进行监控的开源工具。相信很多工程都在使用它来进行监控,有关详细介绍可以查看官网:https://prometheus.io/docs/introduction/overview/。2.有关GrafanaGrafana是一个开源监...原创 2019-03-15 14:47:12 · 590 阅读 · 0 评论 -
阿里Java面试题剖析:在高并发的情况下如何保证消息的顺序性?
面试原题如何保证消息的顺序性?面试官心理分析其实这个也是用 MQ 的时候必问的话题,第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题。面试题剖析我举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非常大的,日同步数据要达到上亿,就是说数据从一个 mysql 库原封不动地同步到另一个 mysql 库里面去(mysql ...原创 2019-04-22 11:08:16 · 255 阅读 · 0 评论 -
68道Spring面试题和答案,简单明了无套路(上篇)
什么是spring?Spring 是个java企业级应用的开源开发框架。Spring主要用来开发Java应用,但是有些扩展是针对构建J2EE平台的web应用。Spring 框架目标是简化Java企业级应用开发,并通过POJO为基础的编程模型促进良好的编程习惯。使用Spring框架的好处是什么?轻量:Spring 是轻量的,基本的版本大约2MB。控制反转:Spring通过控制反转实现了松散...原创 2019-04-22 11:48:01 · 154 阅读 · 0 评论 -
68道Spring面试题和答案,简单明了无套路(下篇)
@RequestMapping 注解该注解是用来映射一个URL到一个类或一个特定的方处理法上。什么是基于Java的Spring注解配置? 给一些注解的例子.基于Java的配置,允许你在少量的Java注解的帮助下,进行你的大部分Spring配置而非通过XML文件。以@Configuration 注解为例,它用来标记类可以当做一个bean的定义,被Spring IOC容器使用。另一个例子是@...原创 2019-04-22 11:48:53 · 396 阅读 · 0 评论 -
Spring Cloud OAuth 无Token调用源码封装
背景重构-改善既有代码的设计,重构的目的是是软件更容易被理解和修改。书接上回Spring Security OAuth 微服务内部Token传递的源码解析,本篇主要无token 调用过程中,代码的不断完善及其重构过程。需求很简单如下图,如果资源服务器的提供的接口,客户端不需要身份验证即不需要携带合法令牌也能访问,并且可以实现远程调用的安全性校验.第一版本资源服务器设置接口permita...原创 2019-04-26 14:41:37 · 812 阅读 · 0 评论 -
八年Java开发的感悟:什么才是程序员的立身之本
自学Java的人不少,科班出身的也很多,但是到什么程度才有资格说自己精通Java?个人觉得至少需要经历以下几个阶段:1.重视代码品质,精益求精,这是技术开发的本质,也是程序员的立足之本。对处于还没工作或者工作1年左右这个阶段的人来说,看书是比较好的提升方式,推荐《Java编程思想》、《effective java》等。需要注意的是,在看书的过程中一定要思考能否运用书中的经验来改善自己写的代码,...原创 2019-04-15 16:15:47 · 348 阅读 · 0 评论 -
image.png 我顿时觉得**一紧,仔细回顾一下,如果wait()方法不在同步块中,代码的确会抛出IllegalMonitorStateExeception:
image.png我顿时觉得**一紧,仔细回顾一下,如果wait()方法不在同步块中,代码的确会抛出IllegalMonitorStateExeception:public class WaitInSyncBlockTest { @Test public void test() { try { new Object().wait();...原创 2019-04-27 10:54:25 · 1337 阅读 · 0 评论 -
Java8新特性之三:Stream API
Java8的两个重大改变,一个是Lambda表达式,另一个就是本节要讲的Stream API表达式。Stream 是Java8中处理集合的关键抽象概念,它可以对集合进行非常复杂的查找、过滤、筛选等操作,在新版的JPA中,也已经加入了Stream。如:@Query("select u from User u")Stream<User> findAllByCustomQueryAndS...原创 2019-04-23 14:54:06 · 157 阅读 · 0 评论 -
JavaScript闭包
什么是JS闭包?先看一段代码:function a(){ var n = 0; function couter() { n++; console.log(n); } couter(); couter(); } a(); //控制台输出1,再输出2再来看一段代码:function a(){ var n = 0; this....原创 2019-04-23 19:38:46 · 139 阅读 · 0 评论 -
JavaScript"模拟事件"的注意要点
DOM中的事件模拟三个步骤: 首先通过document.createEvent()方法创建event对象,接收一个参数,即表示要创建的事件类型的字符串:UIEvents(DOM3中的UIEvent)鼠标和键盘事件;MouseEvents(DOM3中的MouseEvent)鼠标事件;MutationEvents(DOM3中的MutationEvent)变动事件;HTMLEvents(没有...原创 2019-04-19 19:15:31 · 200 阅读 · 0 评论 -
浅谈Java中的锁:Synchronized、重入锁、读写锁
Synchronized首先我们来看一段简单的代码:public class NotSyncDemo { public static int i=0; static class ThreadDemo extends Thread { @Override public void run() { for (int j=0;j&l...原创 2019-04-24 16:52:09 · 102 阅读 · 0 评论 -
SpringCloud分布式微服务搭建(一)
本例子主要使用了eureka集群作为注册中心来保证高可用,客户端来做ribbon服务提供者的负载均衡。负载均衡有两种,第一种是nginx,F5这种集中式的LB,对所有的访问按照某种策略分发。第二种是客户端知道所有的服务的地址,在客户端做负载均衡,客户端自己去发送。github地址:https://github.com/linjiaqin/scdemo一. eureka注册中心的搭建1.为...原创 2019-04-29 14:38:14 · 42397 阅读 · 5 评论 -
如何提高使用Java反射的效率?
前言在我们平时的工作或者面试中,都会经常遇到“反射”这个知识点,通过“反射”我们可以动态的获取到对象的信息以及灵活的调用对象方法等,但是在使用的同时又伴随着另一种声音的出现,那就是“反射”很慢,要少用。难道反射真的很慢?那跟我们平时正常创建对象调用方法比慢多少? 估计很多人都没去测试过,只是”道听途说“。下面我们就直接通过一些测试用例来直观的感受一下”反射“。正文准备测试对象下面先定义一个...原创 2019-05-05 15:39:06 · 170 阅读 · 0 评论 -
java设计模式之代理模式(静态代理)
今天给大家分享的是java设计模式之代理模式中的静态代理模式,动态代理模式将在后面文章中给出。如有不足,敬请指正。一、代理模式是什么代理模式是面向对象编程的 23 种基础设计模式之一。代理模式的定义: 为其他对象(源对象) 提供一种代理以控制对这个对象(源对象) 的访问。 需求: DAO 层的代码操作。我们知道分别有获得数据库连接(相同的)获得操作对象(相同的)封装参数(每个方法...原创 2019-04-25 14:28:20 · 251 阅读 · 0 评论 -
最全的JAVA知识汇总(附讲解和思维导图)
jvm 一行代码是怎么运行的首先,java代码会被编译成字节码,字节码就是java虚拟机定义的一种编码格式,需要java虚拟机才能够解析,java虚拟机需要将字节码转换成机器码才能在cpu上执行。 我们可以用硬件实现虚拟机,这样虽然可以提高效率但是就没有了一次编译到处运行的特性了,所以一般在各个平台上用软件来实现,目前的虚拟机还提供了一套运行环境来进行垃圾回收,数组越界检查,权限校验等。虚拟机一...原创 2019-04-30 19:15:04 · 712 阅读 · 0 评论 -
SpringBoot开发案例从0到1构建分布式秒杀系统
前言最近,被推送了不少秒杀架构的文章,忙里偷闲自己也总结了一下互联网平台秒杀架构设计,当然也借鉴了不少同学的思路。俗话说,脱离案例讲架构都是耍流氓,最终使用SpringBoot模拟实现了部分秒杀场景,同时跟大家分享交流一下。秒杀场景秒杀场景无非就是多个用户在同时抢购一件或者多件商品,专用词汇就是所谓的高并发。现实中经常被大家喜闻乐见的场景,一群大妈抢购打折鸡蛋的画面一定不会陌生,如此场面...原创 2019-04-17 15:15:28 · 207 阅读 · 0 评论 -
即将到来的金三银四,这10道springboot常见面试题你需要了解下
1.什么是Spring Boot?多年来,随着新功能的增加,spring变得越来越复杂。只需访问https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用的所有Spring项目的不同功能。如果必须启动一个新的Spring项目,我们必须添加构建路径或添加Maven依赖关系,配置应用程序服务器,添加spring配置。因此,开始一个新的spring项目需要很多...原创 2019-04-21 14:35:21 · 253 阅读 · 0 评论 -
SpringBoot开发案例之打造私有云网盘
前言最近在做工作流的事情,正好有个需求,要添加一个附件上传的功能,曾找过不少上传插件,都不是特别满意。无意中发现一个很好用的开源web文件管理器插件 elfinder,功能比较完善,社区也很活跃,还方便二次开发。环境搭建项目截图周末抽时间做了一个简单的案例,希望对大家有所帮助,下面是简单的项目截图。在这里插入图片描述项目功能在线新建目录、文件、附件上传、下载、预览、在线打包...原创 2019-04-16 16:33:00 · 619 阅读 · 0 评论 -
Spring事务完全解析
事务是什么?了解事务的原理吗?说下Spring的事务原理,能自己实现Spring事务原理吗?先自我检测下这些知识掌握了吗。那么接下来一起看下与Spring相关的事务概念事务具有ACID特性。是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。Spring事务的底层依赖MySQL的事务,代码层面上利用AOP实现。MySQL的事务有隔离级别的概念,只有InnoDB有...原创 2019-03-15 15:18:48 · 157 阅读 · 0 评论 -
Spring boot实现AOP记录操作日志
前言在实际的项目中,特别是管理系统中,对于那些重要的操作我们通常都会记录操作日志。比如对数据库的CRUD操作,我们都会对每一次重要的操作进行记录,通常的做法是向数据库指定的日志表中插入一条记录。这里就产生了一个问题,难道要我们每次在 CRUD的时候都手动的插入日志记录吗?这肯定是不合适的,这样的操作无疑是加大了开发量,而且不易维护,所以实际项目中总是利用AOP(Aspect Oriented P...原创 2019-03-15 16:43:07 · 6542 阅读 · 0 评论 -
为什么说Java程序员到了必须掌握Spring Boot的时候?
Spring Boot 2.0 的推出又激起了一阵学习 Spring Boot 热,就单从我个人的博客的访问量大幅增加就可以感受到大家对学习 Spring Boot 的热情,那么在这么多人热衷于学习 Spring Boot 之时,我自己也在思考: Spring Boot 诞生的背景是什么?Spring 企业又是基于什么样的考虑创建 Spring Boot? 传统企业使用 Spring Boot 会...原创 2019-03-16 11:08:29 · 185 阅读 · 0 评论 -
SpringBoot教程大全
关于由于工作中经常会使用到SpringBoot,于是乎决定整理一篇关于SpringBoot相关内容的汇总,方便大家查阅和参考,内容定位是对SpringBoot有一定认知基础的。最新源码正文本教程将会通过Intellij + SpringBoot等最新最常用的搭配方式重新梳理一遍。欢迎关注。暂定目录:1.SpringBoot介绍及常用的搭建方式2.SpringBoot+Jpa+MySql...原创 2019-03-16 11:55:19 · 253 阅读 · 0 评论 -
SpringCloud-源码分析 Hystrix 熔断器
回顾为了防止服务之间的调用异常造成的连锁反应,在SpringCloud中提供了Hystrix组件来实现服务调用异常的处理,或对高并发情况下的服务降级处理 。简单回顾一下Hystrix的使用:1.要使用 Hystrix熔断机制处理引入它本身的依赖之外,我们需要在主程序配置类上贴 @EnableHystrix 标签 开启Hystrix功能,如下@EnableHystrix @EnableEu...原创 2019-03-21 11:59:07 · 304 阅读 · 0 评论 -
Java12 种 Spring 常用注解!@Value 为属性注入值(属性上) 支持如下方式的注入: 》注入普通字符 @Value("Michael Jackson")String name; 》注入
1.声明bean的注解@Component 组件,没有明确的角色@Service 在业务逻辑层使用(service层)@Repository 在数据访问层使用(dao层)@Controller 在展现层使用,控制器的声明(C)2.注入bean的注解@Autowired:由Spring提供@Inject:由JSR-330提供@Resource:由JSR-250提供都可以注解在set...原创 2019-03-21 15:54:44 · 600 阅读 · 0 评论 -
spring boot 集成jwt,security进行安全控制
spring boot 集成jwt security文章结构开门见山 数据流程开门见山这一部分直接展示代码,及将哪些代码进行修改就可以直接移值到自己的项目进行安全验证代码目录结构AuthAuthController LoginUserJWTJwtUtilSecurityAuthFilter SecurityConfig UserDetailsImpl UserDetai...原创 2019-03-18 11:15:40 · 566 阅读 · 0 评论 -
java电子商务系统源码 Spring MVC+mybatis+spring cloud+spring boot+spring security
鸿鹄云商大型企业分布式互联网电子商务平台,推出PC+微信+APP+云服务的云商平台系统,其中包括B2B、B2C、C2C、O2O、新零售、直播电商等子平台。分布式、微服务、云架构电子商务平台 java b2b2c o2o技术解决方案开发语言: java、j2ee数据库:mysqlJDK支持版本: JDK1.6、JDK1.7、JDK1.8版本通用框架:maven+springmvc+myb...原创 2019-03-18 14:53:15 · 882 阅读 · 0 评论 -
Java基础语法_Day10
一、包和权限修饰符包的概述java的包,其实就是我们电脑系统中的文件夹,包里存放的是类文件。当类文件很多的时候,通常我们会采用多个包进行存放管理他们,这种方式称为分包管理。在项目中,我们将相同功能的类放到一个包中,方便管理。并且日常项目的分工也是以包作为边界。包的声明格式通常使用公司网址反写,可以有多层包,包名采用全部小写字母,多层包之间用”.”连接类中包的声明格式:package...原创 2019-03-26 10:47:47 · 206 阅读 · 0 评论 -
干货|Spring Cloud Stream 体系及原理介绍
Spring Cloud Stream 在 Spring Cloud 体系内用于构建高度可扩展的基于事件驱动的微服务,其目的是为了简化消息在 Spring Cloud 应用程序中的开发。Spring Cloud Stream (后面以 SCS 代替 Spring Cloud Stream) 本身内容很多,而且它还有很多外部的依赖,想要熟悉 SCS,必须要先了解 Spring Messaging 和...原创 2019-04-10 15:03:19 · 13306 阅读 · 1 评论 -
springboot+redis分布式锁-模拟抢单
篇内容主要讲解的是redis分布式锁,这个在各大厂面试几乎都是必备的,下面结合模拟抢单的场景来使用她;本篇不涉及到的redis环境搭建,快速搭建个人测试环境,这里建议使用docker;本篇内容节点如下:jedis的nx生成锁如何删除锁模拟抢单动作(10w个人开抢)jedis的nx生成锁对于java中想操作redis,好的方式是使用jedis,首先pom中引入依赖: <depend...原创 2019-04-01 15:26:07 · 225 阅读 · 0 评论 -
Spring Cloud系列--简单实现Ribbon负载均衡
Ribbon是客户端的负载均衡,在微服务调用,API网关的请求转发等,都离不开Ribbon。因此理解和使用Spring-cloud-Ribbon 是非常重要的。我们先来看一下如何使用Ribbon进行负载均衡。我们将使用4个服务来实现。服务注册服务提供1服务提供2客户端具体的架构流程图如下项目搭建具体搭建方法参照Spring Cloud系列-- 服务治理简单搭建 ,我们使用IDEA...原创 2019-04-11 11:01:57 · 207 阅读 · 0 评论 -
Spring Boot Security OAuth2 实现支持JWT令牌的授权服务器
概要之前的两篇文章,讲述了Spring Security 结合 OAuth2 、JWT 的使用,这一节要求对 OAuth2、JWT 有了解,若不清楚,先移步到下面两篇提前了解下。Spring Boot Security 整合 OAuth2 设计安全API接口服务Spring Boot Security 整合 JWT 实现 无状态的分布式API接口这一篇我们来实现 支持 JWT令牌 的授权服...原创 2019-04-08 11:43:37 · 2444 阅读 · 0 评论 -
深度剖析Spring Cloud底层原理
毫无疑问,Spring Cloud 是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对 Spring Cloud 功能使用的层面,其底层的很多原理,很多人可能并不知晓。实际上,Spring Cloud 是一个全家桶式的技术栈,它包含了很多组件。本文先从最核心的几个组件,也就是 Eureka、Ribbon、Feign、Hystrix、Zuul 入手,来剖析其底层...原创 2019-04-15 20:35:22 · 214 阅读 · 0 评论 -
浅谈Spring的AOP实现-代理机制
说起Spring的AOP(Aspect-Oriented Programming)面向切面编程大家都很熟悉(Spring不是这次博文的重点),但是我先提出几个问题,看看同学们是否了解,如果了解的话可以不用继续往下读:1. Spring的AOP的实现方式有哪些?2. 为什么使用代理机制?3. 它们是怎么实现的?4. 它们的区别是什么?下面进入正题,Spring采用代理的方式实现A...原创 2019-08-05 15:50:37 · 378 阅读 · 0 评论