随笔分类 - Java
大叔也学学java,跟跟风...
摘要:回到大叔推荐博客索引 主要介绍java基础知识,非框架类及JVM相关的内容文章 java和Jvm目录 Java~关于开发工具和包包 Java~类,抽象类和接口 Java~时间戳小知识 Java~命名规范 java~google样式检查和命名规范 java~日期与字符串的转化 java~lambda表
阅读全文
摘要:垃圾收集策略与算法 程序计数器、虚拟机栈、本地方法栈随线程而生,也随线程而灭;栈帧随着方法的开始而入栈,随着方法的结束而出栈。这几个区域的内存分配和回收都具有确定性,在这几个区域内不需要过多考虑回收的问题,因为方法结束或者线程结束时,内存自然就跟随着回收了。 而对于 Java 堆和方法区,我们只有在
阅读全文
摘要:feign面向方法签名的http调用,越来越受欢迎,类型于rpc的thrift,只需要关注方法签名和返回值即可,当然feign响应流对象时,需要我们做一下特殊处理,否则会出现异常。也有一些文章通过重写HttpMessageConvert来实现,但我测试后发现还是失败的。> Accept: image
阅读全文
摘要:参考文章:https://blog.csdn.net/qq_27828675/article/details/82466599 一 进行授权页 浏览器输入http://localhost:8081/oauth/authorize?response_type=code&redirect_uri=htt
阅读全文
摘要:简介 RSA非对称加密有着非常强大的安全性,HTTPS的SSL加密就是使用这种方法进行HTTPS请求加密传输的。因为RSA算法会涉及Private Key和Public Key分别用来加密和解密,所以称为非对称加密。Private Key和Public Key有互操作性,即用private key加
阅读全文
摘要:回到目录 我的那些年(13)~主推微服务架构 整个系统走向微服务架构 网关 服务注册与发现 配置中心 熔断器 链路跟踪 授权与鉴权 服务间的通讯-同步feign 服务间的通讯-异步消息 日志收集 个系统走向微服务架构 公司系统比较多,耦合度比较大,将这些模块进行拆分,各个负责自己的模块,减少相互之间
阅读全文
摘要:在使用feign进行远程方法调用时,如果远程服务端方法出现异常,客户端有时需要捕获,并且把异常信息返回给前端,而如果在开启 之后,这个异常会被消化,所以说,如果希望拿到服务端异常, 需要设置为false,而当不开熔断时,我们也有几种方法把拿到服务端的异常信息,下面总结一下。 1. try...cat
阅读全文
摘要:在微服务架构里,服务与服务之间的调用一般用feign就可以实现,它是一种可视化的rpc,并且集成了ribbon的负载均衡能力,所以很受欢迎。 授权服务 在授权服务里,用户通过用户名密码,或者手机和验证码等方式登陆之后,在http头里会有 的标识,在客户端调用时,需要添加当时有效的token才可以正常
阅读全文
摘要:Ribbon简介 参考:https://blog.csdn.net/chengqiuming/article/details/80711168 Ribbon是Netflix发布的负载均衡器,它有助于控制HTTP和TCP的客户端的行为。为Ribbon配置服务提供者地址后,Ribbon就可基于某种负载均
阅读全文
摘要:熔断器hystrix 在分布式系统中,每个服务都可能会调用很多其他服务,被调用的那些服务就是依赖服务,有的时候某些依赖服务出现故障也是很正常的。 Hystrix 可以让我们在分布式系统中对服务间的调用进行控制,加入一些调用延迟或者依赖故障的容错机制。 Hystrix 通过将依赖服务进行资源隔离,进而
阅读全文
摘要:自动生成框架的意义 主要为了解决人为添加mapper,模型等工作,减少错误,提交效率! 添加引用build.gradle 添加配置文件 sources/mybaits目录 config.properties generatorConfig.xml文件内容 在build.gradle添加脚本 def
阅读全文
摘要:概念 TOTP算法(Time based One time Password algorithm)是一种从共享密钥和当前时间计算一次性密码的算法。 它已被采纳为Internet工程任务组标准RFC 6238,是Initiative for Open Authentication(OATH)的基石,并
阅读全文
摘要:两个数组 bucket数组:存储key的hash桶,桶指的是把hashcode分配到一定的范围内 entry数组:用来存储实现的值,它是一个单向链表,bucket总是存储链表的最后一个元素 实现方式 通过哈希桶来实现的k/v存储,通过key的hash码,再进行桶计算,生成一个在某个范围内的值,这就是
阅读全文
摘要:前序遍历 若二叉树非空,则执行以下操作: 1. 访问根结点; 2. 先序遍历左子树; 3. 先序遍历右子树 中序遍历 若二叉树非空,则执行以下操作: 1. 中序遍历左子树; 2. 访问根结点; 3. 中序遍历右子树。 后序遍历 若二叉树非空,则执行以下操作: 1. 后序遍历左子树; 2. 后序遍历右
阅读全文
摘要:gradle添加引用 添加bean对象 添加测试的队列 总结:通过上面的几行代码,我们可以对rabbitmq队列在测试环境中去模拟,方便了我们的测试,而这种方法比 这个包要方便的多,当然这个包也支持其它的qpid协议的队列。
阅读全文
摘要:什么时候要重写equals 当对象需要根据值去比较它们是否相等时,需要我们重写equals,而它的hashCode也同时需要被重要,一般来说就是对类里所有成员变更求hashCode。 没有重写equals时 一个类型Demo,有两个实例demo1和demo2,当没有直接比较它们时,它们是不相等的,因
阅读全文
摘要:异步执行一般用来发送一些消息数据,数据一致性不要求太高的场景,对于spring来说,它把这个异步进行了封装,使用一个注解就可以实现。 用法 1. 程序启动时开启 注解 2. 建立新的类型,建立 ,为方法添加 注解 3. 在业务代码中, 注入你的类型,使用它即可 我们可以关注到在配置task的时候,是
阅读全文
摘要:springbatch 主要实现批量数据的处理,我对batch进行的封装,提出了jobBase类型,具体job需要实现它即可。Spring Batch 不仅提供了统一的读写接口、丰富的任务处理方式、灵活的事务管理及并发处理,同时还支持日志、监控、任务重启与跳过等特性,大大简化了批处理应用开发,将开发
阅读全文
摘要:DI越来越重要 DI就是依赖注入,现在来说,大部分框架都是以DI为基础组件的,每一个框架都有自己的DI组件,像dotnet core,java spring等,也都为自己的框架量身打造了DI工具。 面向对象的几个原则 依赖倒置原则(DIP):一种软件架构设计的原则(抽象概念)。 控制反转(IoC):
阅读全文
摘要:回到占占推荐博客索引 Spring Cloud官方组件: Config:外部化配置组件,支持配置中心。 Bus:消息总线组件,用于动态刷新配置。 Sleuth:分布式请求链路跟踪组件。 Zipkin:分布式跟踪系统。 Spring Cloud Netflix组件(停止更新和维护其开源项目): Eur
阅读全文