
Java体系架构
文章平均质量分 84
大鹏的世界
天道酬勤!分布式+大数据架构解决方案
展开
-
Nginx 五大应用场景
一:HTTP服务器Nginx本身也是一个静态资源的服务器,当只有静态资源的时候,就可以使用Nginx来做服务器,如果一个网站只是静态页面的话,那么就可以通过这种方式来实现部署。1、首先在文档根目录Docroot(/usr/local/var/www)下创建html目录, 然后在html中放一个test.html;2、配置nginx.conf中的serverusermengdaystaff;http{server{listen...原创 2021-08-10 18:49:39 · 323 阅读 · 0 评论 -
详解日志采集工具--Logstash、Filebeat、Fluentd、Logagent对比
LogstashLogstash是一个开源数据收集引擎,具有实时管道功能。Logstash可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地。优势Logstash 主要的有点就是它的灵活性,主要因为它有很多插件,详细的文档以及直白的配置格式让它可以在多种场景下应用。我们基本上可以在网上找到很多资源,几乎可以处理任何问题。劣势Logstash 致命的问题是它的性能以及资源消耗(默认的堆大小是 1GB)。尽管它的性能在近几年已经有很大提升,与它的替代者们相比还是要转载 2021-08-10 11:09:52 · 5953 阅读 · 0 评论 -
Spring Cloud Gateway动态路由实现
Gateway上线部署分析当你的网关程序开发完成之后,需要部署到生产环境,这个时候你的程序不能是单点运行的,肯定是多节点启动(独立部署或者docker等容器部署),防止单节点故障导致整个服务不能访问,网关是对客户端的入口与出口,在生产运行中极为重要,哪怕是简单的重启也会导致部分请求的丢失。网关的路由配置这个时候就是一个大问题,是代码里面编写还是配置文件配置?他们都有一个致命的缺点,当有新的程序需要接入到网关进行路由或者有服务需要下线时候需要修改代码或者配置,然后重启整个网关程序,导致其他正常的原创 2021-07-31 11:06:43 · 1976 阅读 · 0 评论 -
springboot+jjwt+security完美解决restful接口无状态鉴权
简介:微服务大行其道的现在,如果我们还在用wsdl之类的提供接口,给人的感觉就会很low,虽然说不能为了炫技而炫技,但是既然restful接口已经越来越流行,必然有它的道理。微服务大行其道的现在,如果我们还在用wsdl之类的提供接口,给人的感觉就会很low,虽然说不能为了炫技而炫技,但是既然restful接口已经越来越流行,必然有它的道理。本文我们不讨论restful接口的好处,旨在解决使用restful时候的权限控制问题。springboot本身已经提供了很好的spring securit.原创 2021-07-30 16:43:50 · 1035 阅读 · 0 评论 -
JPA 和 Mybatis 技术选型
在我们平时的项目中,大家都知道可以使用 JPA 或者 Mybatis 作为 ORM 层。对 JPA 和 Mybatis 如何进行技术选型?下面看看大精华总结如下:最佳回答首先表达个人观点,JPA必然是首选的。个人认为仅仅讨论两者使用起来有何区别,何者更加方便,不足以真正的比较这两个框架。要评判出更加优秀的方案,我觉得可以从软件设计的角度来评判。个人对 mybatis 并不熟悉,但 JPA 规范和 springdata 的实现,设计理念绝对是超前的。软件开发复杂性的一个解决手段是遵循原创 2021-06-22 14:43:43 · 2391 阅读 · 4 评论 -
PO,BO,VO和POJO的区别
PO:persistent object 持久对象1 .有时也被称为Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。2 .在hibernate持久化框架中与insert/delet操作密切相关。3 .PO中不应该包含任何对数据库的操作。POJO :plain ordinary java object 无规则简单java对象一个中间对象,可以转化为PO、DTO、VO。1 .POJO持久化之后==〉PO(在运行期,由Hibernate中的cgli原创 2021-01-19 19:50:53 · 152 阅读 · 0 评论 -
详细解析Java中抽象类和接口的区别
<br /> 在Java语言中, abstract class 和interface是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对 于问题领域本质的理解、原创 2011-04-13 11:46:00 · 622 阅读 · 0 评论 -
java线程-容易混淆的概念
只要是对资源的操作必须做好线程安全,资源对象的读写封装在抽象的类中条件变量都实现了java.util.concurrent.locks.Condition接口,条件变量的实例化是通过一个Lock对象上调用newCondition()方法来获取的,这样,条件就和一个锁对象绑定起来了。因此,Java中的条件变量只能和锁配合使用,来控制并发程序访问竞争资源的安全。条件变量的出现是为了更精细控制线程等待与唤醒,在Java5之前,线程的等待与唤醒依靠的是Object对象的wait()和notify()/n原创 2011-01-27 09:32:00 · 678 阅读 · 0 评论 -
java 线程复习
一个对象只有一个锁。所以,如果一个线程获得该锁,就没有其他线程可以获得锁,直到第一个线程释放(或返回)锁。这也意味着任何其他线程都不能进入该对象上的synchronized方法或代码块,直到该锁被释放。线程 join()原创 2011-01-26 15:46:00 · 681 阅读 · 0 评论 -
Eclipse安装插件的两种方式
<br />装载:http://gooss.org/are-two-ways-to-install-eclipse-plug-in/<br /> <br />Eclipse是最流行的功能强大的java IDE,有丰富的插件,使用插件可以作为开发j2ee、c、c++、.net、ruby/rails等应用的工具。打开Eclipse官方网站,下载最新的Eclipse IDE直接解压后就可以使用了。另外,Eclipse是一个Java开发的IDE工具,需要有Java运行环境的支持(JRE/JDK)。<br原创 2010-06-28 09:59:00 · 3540 阅读 · 0 评论 -
根据文件的头信息判断文件类型
package test.util;import java.io.FileInputStream;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException; public final class MD5Util {/** * 把字节数组转换成16进制字符串 * * @pa原创 2010-05-17 17:20:00 · 1668 阅读 · 0 评论 -
文件头信息中用来判断文件类型的16进制串
从网上找的 正确性有待验证...Java code <!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1、从Ultra-edit-32中提取出来的JPEG (jpg),文件头:FFD8FF PN原创 2010-05-17 11:37:00 · 4454 阅读 · 0 评论 -
AOP 概念图解
AOP联盟标准AOP联盟将AOP体系分为三层,从三层结构可以看出,AOP实现方式有很多种,包括反射、元数据处理、程序处理、拦截器处理等,通过本节学习,你就会看到Spring AOP的实现使用的是Java语言本身的特性,即Java Proxy代理类、拦截器技术实现。AOP简介概念切面(Aspect) :官方的抽象定义为“一个关注点的模块化,这个关注点可能会横切多个对象”。连接点(Joinpoint) :程序执行过程中的某一行为。通知(Advice) :“切面”对于某个“连接点”所产生的原创 2021-03-11 00:31:05 · 636 阅读 · 0 评论 -
分布式---基于Redis进行接口IP限流(可用)
场景为了防止我们的接口被人恶意访问,比如有人通过JMeter工具频繁访问我们的接口,导致接口响应变慢甚至崩溃,所以我们需要对一些特定的接口进行IP限流,即一定时间内同一IP访问的次数是有限的。实现原理用Redis作为限流组件的核心的原理,将用户的IP地址当Key,一段时间内访问次数为value,同时设置该Key过期时间。比如某接口设置相同IP10秒内请求5次,超过5次不让访问该接口。1. 第一次该IP地址存入redis的时候,key值为IP地址,value值为1,设置key值过期时间为10..转载 2021-03-10 15:38:50 · 2353 阅读 · 0 评论