![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
后端技术/Java
文章平均质量分 89
后端技术/Java
不夜De星空
这个作者很懒,什么都没留下…
展开
-
UnderTow 核心配置
在我们的容器中,我们将微服务实例的容器内的 TCP Socket Buffer 的读写 buffer 大小成一模一样的配置(因为微服务之间调用,发送的请求也是另一个微服务接受,所以调整所有微服务容器的读写 buffer 大小一致,来优化性能,默认是根据系统内存来自动计算出来的)。我们这一节详细介绍了 Undertow 的核心配置,主要包括线程池以及 buffer 配置,以及关于 http 协议的一些配置。对应 Undertow 的相关配置,配置类是。对应 XNIO 的相关配置,配置类是。转载 2023-04-06 14:37:35 · 889 阅读 · 0 评论 -
云计算之概念——IaaS、SaaS、PaaS、Daas
云计算通俗来说就是输入/输出和计算不在一个主机上。计算要用到计算设备,计算设备一般是指CPU、内存和硬盘,输入/输出设备一般是指键盘、鼠标、显示器、耳机、音响、话筒等外设。而我们的个人计算机是使用主板将这些东西连接到一起来协调工作。 一个软件在执行以完成某项任务的时候,如果用到的计算设备和输入/输出设备不是通过主板连接,而是通过网络连接,那么这个过程就叫云计算。...转载 2019-04-01 14:52:44 · 40706 阅读 · 3 评论 -
远程通信的几种选择(RPC,Webservice,RMI,JMS的区别)
RPC(Remote Procedure Call Protocol)RPC使用C/S方式,采用http协议,发送请求到服务器,等待服务器返回结果。这个请求包括一个参数集和一个文本集,通常形成“classname.methodname”形式。优点是跨语言跨平台,C端、S端有更大的独立性,缺点是不支持对象,无法在编译器检查错误,只能在运行期检查。Web ServiceWeb Serv转载 2015-03-30 22:43:39 · 428 阅读 · 0 评论 -
Apache Axis2 环境搭配详解
配置Eclipse,Eclipse自带了开发WebService的工具。打开Eclipse-->点击菜单windows-->Preferences-->WebServices-->Axis2Preferences-->设置Axis2 runtime location为Axis2下载后并解压的核心包的位置:选择后Eclipse会自动检测包是否正确。如果suc...转载 2015-06-11 17:29:29 · 500 阅读 · 0 评论 -
UniEAP Platform开发环境搭建
一、准备工作UniEAP Platform V4.6UniEAP Platform V4.6基础工程包UniEAP Platform V4.6支撑库脚本数据库驱动jar(默认Oracle,使用其他数据库需提供驱动)unieap.license二、搭建过程运行UniEAP Platform,并选择一个新的工作空间导入已有的工程到工作空间,选择准备好原创 2016-06-07 10:10:46 · 5238 阅读 · 6 评论 -
效率提高 10 倍 !一份不可多得的 Lombok 学习指南
一、Lombok 简介Lombok 是一款 Java 开发插件,使得 Java 开发者可以通过其定义的一些注解来消除业务工程中冗长和繁琐的代码,尤其对于简单的 Java 模型对象(POJO)。在开发环境中使用 Lombok 插件后,Java 开发人员可以节省出重复构建,诸如 hashCode 和 equals 这样的方法以及各种业务对象模型的 accessor 和 toString 等方...转载 2019-11-11 08:53:47 · 235 阅读 · 0 评论 -
SpringBoot配置属性之其他
aop spring.aop.auto 是否支持@EnableAspectJAutoProxy,默认为: true spring.aop.proxy-target-class true为使用CGLIB代理,false为JDK代理,默认为false application spring.application.admin.enabled 是否启用admin特性,默认为...转载 2019-06-21 14:00:40 · 173 阅读 · 0 评论 -
Spring Tools Suite (STS) 简介
首先,sts是一个定制版的Eclipse,专为Spring开发定制的,方便创建调试运行维护Spring应用。 官方页面、下载地址(3.8.1 win x64)。其次,没什么好介绍的,用一下就明白了。 创建Spring应用的过程同 https://start.spring.io/ 中所示--实际上访问的接口一致。 下载之后,可以看到一个st转载 2017-09-06 16:27:37 · 1126 阅读 · 0 评论 -
JWT - JSON Web Token
JWTJson Web Token ,是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准(RFC 7519),被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。单点登录(Single Sign On,以下简称SSO),是指在多系统应用群中登录一个系统,便可在该应用群其他所有系统中得到授权而无需再次登录。 单系统登录(session)认证和单点(tok...转载 2019-01-10 20:48:25 · 148 阅读 · 0 评论 -
微服务为什么一定要用docker
引言早在2013年的时候,docker就已经发行,然而那会还是很少人了解docker。一直到2014年,Martin Fowler提出了微服务的概念,两个不相干的技术终于走在了一起,创造了今天的辉煌!近几年来,很多互联网关系开始跟风,构建docker+微服务的架构体系。然而,根据笔者观察发现,有些童鞋在使用过程中,只是会用,而根本不了解为什么使用docker,反正对他们来说,公司让用就用!...转载 2019-04-03 17:20:22 · 591 阅读 · 0 评论 -
Hibernate各种主键生成策略与配置详解
Hibernate各种主键生成策略与配置详解转载 2016-07-06 20:52:09 · 270 阅读 · 0 评论 -
SpringBoot四大神器之Starter
SpringBoot的starter主要用来简化依赖用的。本文主要分两部分,一部分是列出一些starter的依赖,另一部分是教你自己写一个starter。部分starters的依赖Starter(Group ID: org.springframework.boot) 传递依赖于 spring-boot-starter-log4j2 ■ org.apache.logging....转载 2019-06-21 14:03:19 · 507 阅读 · 0 评论 -
WebService的两种方式SOAP和REST比较
第一次接触WebService,对于很多概念不太理解,尤其是看到各个OpenAPI的不同提供方式时,更加疑惑。如google map api采用了AJAX方式,通过javascript提供API,而淘宝TOP则采用直接的HTTP+XML请求方式,最令我疑惑的是教材上讲的WSDL,UDDI从没有在这些API中出现过。现在知道了WebService原来有两种方式,一是SOAP协议方式,在这种方式下转载 2016-06-14 23:53:53 · 2049 阅读 · 0 评论 -
javax.inject.jar:依赖注入非常方便的jar包
用过Spring框架的我们都知道,每当生成依赖注入的时候,我们都必须生成相应类的set方法,而且要在set方法上面写上@Autowired,才能实现依赖注入,如下:package com.kaishengit.web;import com.kaishengit.service.ProjectService;import org.springframework.beans.factory.转载 2016-06-02 22:38:33 · 11599 阅读 · 0 评论 -
Jedis的Publish/Subscribe功能的运用
一、Redis服务器端的安装和客户端Jedis的安装1.下载Redis 下载地址:http://redis.googlecode.com/files/redis-2.4.8.tar.gz 2.安装Redis在linux下运行如下命令进行安装。$ tar xzf redis-2.4.8.tar.gz$ cd redis-2.4.8$ make转载 2017-09-21 10:53:12 · 825 阅读 · 0 评论 -
Springboot AOP 自定义注解实现系统日志
一、添加AOP依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency>二、AOP切点类@Slf4j@Comp...原创 2019-08-08 16:00:31 · 1234 阅读 · 0 评论 -
23种设计模式汇总整理
设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。其实还有两类:并发型模式和线程池模式。转载 2017-06-05 15:12:50 · 258 阅读 · 0 评论 -
在jpa的JpaRepository需要对符合主键@EmbeddedId 中的一个字段进行查询的用法
在jpa的JpaRepository需要对符合主键@EmbeddedId 中的一个字段进行查询的用法:在JpaRepository Interface中使用findByIdRoleId 这样的语法。jpa会自动生成正确的sql语句。例子:1.pojo 类RoleMenu.javapackage com.ninelephas.whale.pojo; import j...转载 2019-07-16 16:30:24 · 1435 阅读 · 0 评论 -
Java分布式锁方案和区别
分布式锁的实现在常见的分布式锁中有以下三种实现:Redis 实现 Zookeeper 实现 数据库实现1. 基于 Redis 的实现在 Redis 中有 3 个重要命令,通过这三个命令可以实现分布式锁setnx key val:当且仅当key不存在时,set一个key为val的字符串,返回1;若key存在,则什么都不做,返回0。 expire key timeout:为key设置一个超时时间,单位为second,超过这个时间 key 会自动删除。 delete key:删除key转载 2021-12-16 09:48:11 · 427 阅读 · 0 评论 -
OIDC(OpenId Connect)身份认证
1 什么是OIDC?看一下官方的介绍(http://openid.net/connect/):OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol. It allows Clients to verify the identity of the End-User based on th...转载 2019-06-23 22:30:54 · 48268 阅读 · 3 评论 -
Java8 lambda表达式10个示例
例1、用lambda表达式实现Runnable我开始使用Java 8时,首先做的就是使用lambda表达式替换匿名类,而实现Runnable接口是匿名类的最好示例。看一下Java 8之前的runnable实现方法,需要4行代码,而使用lambda表达式只需要一行代码。我们在这里做了什么呢?那就是用() -> {}代码块替代了整个匿名类。// Java 8之前:new Thread...转载 2019-07-18 16:37:26 · 259 阅读 · 0 评论 -
到底EJB是什么
到底EJB是什么?被口口相传的神神秘秘的,百度一番,总觉得没有讲清楚的,仍觉得一头雾水。百度了很久,也从网络的文章的只言片语中,渐渐有了头绪。 用通俗话说,EJB就是:"把你编写的软件中那些需要执行制定的任务的类,不放到客户端软件上了,而是给他打成包放到一个服务器上了"。是的,没错!EJB 就是将那些"类"放到一个服务器上,用C/S 形式的软件客户端对服务器上的"类"进行调用。快崩溃了吧!这...转载 2015-03-28 18:13:29 · 338 阅读 · 0 评论 -
企业大中台策略剖析
随着数字化和互联网时代的来临,云计算、大数据、微服务、物联网、移动互联等各种新兴技术为IT产业带来无限机遇的同时,也为企业业务不断发展带来支撑,伴随着企业规模不断扩大、业务多元化、创新化的发展,“大中台、小前台”的技术架构模式出现,由于公司的发展要求,笔者经常接触大中台这一理念,结合公司主打SOA集成平台、数据治理等产品和方案,在学习过程中有自己一些的理解,本文主要与大家分享笔者的认知,希望能够对...转载 2019-04-01 13:20:21 · 2899 阅读 · 0 评论 -
Web 服务编程,REST 与 SOAP
为什么选择 RESTREST 架构风格是一种全新的针对 Web 应用的开发风格,与 RPC 风格的 Web 服务(关于 RPC 风格的 Web 服务描述,请参见 Wikipeida )一样,是企业信息化的一个重要架构实践领域。本文从一个简单的应用场景出发,使用 REST 和 SOAP 两种不同的架构风格实现,通过对 REST 与 SOAP Web 服务具体对比,旨在帮助读者更深刻理解 REST 架构风格。转载 2016-06-16 09:26:09 · 678 阅读 · 0 评论 -
浅谈Java分布式计算
如果所有组件都在同一台计算机的同一个Java虚拟机的同一个堆空间上执行是最简单的,但实际中我们面对的往往不是如此单一的情况,如果用户端只是个能够执行Java的装置怎么办?如果为了安全性的理由只能让服务器上的程序存取数据库怎么办?我们知道,大多数情况下,方法的调用都是发生在相同堆上的两个对象之间,如果要调用不同机器上的对象的方法呢?通常,我们从某一台计算机上面取得另一台计算机上的信息是...转载 2015-03-29 17:56:09 · 3198 阅读 · 0 评论 -
SpringBoot四大神器之Actuator
Spring Boot有四大神器,分别是auto-configuration、starters、cli、actuator,本文主要讲actuator。actuator是spring boot提供的对应用系统的自省和监控的集成功能,可以对应用系统进行配置查看、相关功能统计等。使用actuator 添加依赖 <dependency> &...转载 2019-06-21 14:02:12 · 815 阅读 · 0 评论 -
利用Jasypt如何对Spring Boot配置文件加密
前言本文主要介绍了Jasypt对Spring Boot配置文件加密的相关方法,下面话不多说了,来一起看看详细的介绍吧方法如下:引入jasypt<dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starte...转载 2019-06-23 22:32:35 · 259 阅读 · 0 评论 -
Spring Data JPA设置表联合主键
遇到了一个新的问题,就是如何使用 Spring Data JPA 建立表的联合主键?网上找了很多答案,自己也踩了一些坑,总结出了三种方式,记录一下。1. 第一种方式:第一种方式是直接使用 @Id 这个注解,来设置联合主键,例如下面这样,我要在 stu_no 和 stu_name 上建立联合主键:@Entity@Table(name = "student")public class...转载 2019-07-10 18:27:40 · 4276 阅读 · 1 评论 -
快、狠、准排查各类系统故障的运维套路
前言今天准备谈下对于IT人员面对技术类问题分析和解决的一些思路和实践总结,在很早以前我就谈到过,对于开发人员在后期需要的不是简单的新业务功能的设计和开发能力,而是问题分析和解决能力。这类问题分析和解决本身又包括了两个方面内容: 其一是IT系统运行类问题和故障的分析和解决; 其二是面对复杂业务问题时候将其转化为技术解决方案能力。 在前面我讲思维类文章的时候就专门谈到IT人员应该关注自己思维能力的提升,这个思维能力实际上包括了分析和认知事物,独立的问题分析和解决两个层面...转载 2020-11-12 09:18:26 · 1789 阅读 · 0 评论 -
我是Redis,MySQL大哥被我害惨了!
大家好,我是 Redis,一个叫 Antirez 的男人把我带到了这个世界上......图片来自 Pexels我是 Redis,MySQL 大哥被我害惨了说起我的诞生,跟关系数据库 MySQL 还挺有渊源的。在我还没来到这个世界上的时候,MySQL 过的很辛苦,互联网发展的越来越快,它容纳的数据也越来越多,用户请求也随之暴涨,而每一个用户请求都变成了对它的一个又一个读写操作,MySQL 是苦不堪言。尤其是到“双 11”、“618“这种全民购物狂欢...转载 2020-11-09 09:19:52 · 170 阅读 · 0 评论 -
我该建数仓、大数据平台还是数据中台?看完脑子终于清醒了
一、层出不穷的新名词现在各种新名词层出不穷: 顶层的有数字城市、智慧地球、智慧城市、城市大脑; 企业层面的有数字化转型、互联网经济,数字经济、数字平台; 平台层面的有物联网,云计算,大数据,5G,人工智能,机器智能,深度学习,知识图谱; 技术层面的有数据仓库、数据集市、大数据平台、数据湖、数据中台、业务中台、技术中台等等。 总之是你方唱罢他登场,各种概念满天飞…在比拼新经济的过程中,其实比拼的是流量也就是用户,但流量不等于用户,用户也不...转载 2020-06-12 09:11:05 · 2811 阅读 · 2 评论 -
还在用Redis,是时候考虑下Ignite了
最近在一个新的项目技术选型的时候看到了Ignite。Ignite作为一个高性能,分布式内存计算和事务平台,解决了大规模,大数据量,高并发的企业级应用的痛点,是一个非常有潜力的技术。Ignite的特点多级存储Ignite对多级存储的支持主要有三种模式:内存,内存+数据库,内存+原生持久化。内存:仅使用内存存储数据,为了保证数据不丢失,应该保证数据至少有一份备份。内存+数据库:在数据库上层用Ignite作为缓存,这里的数据库可以是传统的数据库,例如Mysql,Oracle等。在这里Ignit转载 2020-06-10 11:35:09 · 1791 阅读 · 0 评论 -
从Spark到Flink,菜鸟实时数仓架构是怎样炼成的?
在开源盛世的今天,实时数仓的建设已经有了较为成熟的方案,技术选型上也都各有优劣。菜鸟作为物流供应链的主力军,时效要求已经成为了核心竞争力,离线数仓已不能满足发展的需要,在日益增长的订单和时效挑战下,菜鸟技术架构也在不断发展和完善,如何更准更高效的完成开发和维护,变得格外重要。本文将为大家分享菜鸟技术团队在建设实时数仓技术架构中的一些经验和探索,希望能给大家带来启发。本文主要包括以下内容: 以前的实时数据技术架构 数据模型、计算引擎、数据服务的升级 其他技术工具的探索和..转载 2020-06-03 16:43:12 · 661 阅读 · 0 评论 -
干掉 try catch !
背景软件开发过程中,不可避免的是需要处理各种异常,就我自己来说,至少有一半以上的时间都是在处理各种异常情况,所以代码中就会出现大量的try {...} catch {...} finally {...}代码块,不仅有大量的冗余代码,而且还影响代码的可读性。比较下面两张图,看看您现在编写的代码属于哪一种风格?然后哪种编码风格您更喜欢?丑陋的 try catch 代码块优雅的Controller上面的示例,还只是在Controller层,如果是在Service层,可能会有更多的try catc.转载 2020-05-14 09:47:06 · 223 阅读 · 0 评论 -
SpringBoot启动流程解析
写在前面:由于该系统是底层系统,以微服务形式对外暴露dubbo服务,所以本流程中SpringBoot不基于jetty或者tomcat等容器启动方式发布服务,而是以执行程序方式启动来发布(参考下图keepRunning方法)。本文以调试一个实际的SpringBoot启动程序为例,参考流程中主要类类图,来分析其启动逻辑和自动化配置原理。总览:上图为SpringBoot启...转载 2020-01-12 12:22:56 · 283 阅读 · 0 评论 -
浅谈命令查询职责分离(CQRS)模式
在常用的三层架构中,通常都是通过数据访问层来修改或者查询数据,一般修改和查询使用的是相同的实体。在一些业务逻辑简单的系统中可能没有什么问题,但是随着系统逻辑变得复杂,用户增多,这种设计就会出现一些性能问题。虽然在DB上可以做一些读写分离的设计,但在业务上如果在读写方面混合在一起的话,仍然会出现一些问题。本文介绍了命令查询职责分离模式(Command Query Responsibility S...转载 2020-01-03 16:26:48 · 230 阅读 · 0 评论 -
程序员如何优化 Java GC
本文由CrowHawk翻译,地址:如何优化Java GC「译」,是Java GC调优的经典佳作。Sangmin Lee发表在Cubrid上的”Become a Java GC Expert”系列文章的第三篇《How to Tune Java Garbage Collection》,本文的作者是韩国人,写在JDK 1.8发布之前,虽然有些地方有些许过时,但整体内容还是非常有价值的。译者此前也看到...转载 2020-01-02 11:21:59 · 397 阅读 · 0 评论 -
SpringBoot+kafka+ELK分布式日志收集
一、背景随着业务复杂度的提升以及微服务的兴起,传统单一项目会被按照业务规则进行垂直拆分,另外为了防止单点故障我们也会将重要的服务模块进行集群部署,通过负载均衡进行服务的调用。那么随着节点的增多,各个服务的日志也会散落在各个服务器上。这对于我们进行日志分析带来了巨大的挑战,总不能一台一台的登录去下载日志吧。那么我们需要一种收集日志的工具将散落在各个服务器节点上的日志收集起来,进行统一的查询及管理...转载 2019-12-30 23:15:44 · 1005 阅读 · 0 评论 -
从横切到纵切,架构模式CQRS,提高系统进化能力
曾几何时,你是否疑惑于VO、PO、DTO、BO、POJO、Entity、MODEL的区别?你是否有过疑问,为什么Java里有这么多的以O为名称结尾的对象?!你是否也厌倦了编写从这个O对象到那个O对象之间的转换代码?!你有没有想过,这一切的根源在哪里呢?有没有办法解决这个问题呢?本文试图给你答案!分层架构的「原罪」在架构风格:万金油CS与分层一文中提到,分层架构是个万金油架构...转载 2019-12-30 17:00:44 · 326 阅读 · 0 评论 -
SpringBoot四大神器之Actuator的使用小结
序Spring Boot有四大神器,分别是auto-configuration、starters、cli、actuator,本文主要讲actuator。actuator是spring boot提供的对应用系统的自省和监控的集成功能,可以对应用系统进行配置查看、相关功能统计等。spring-boot-starter-actuator模块的实现对于实施微服务的中小团队来说,可以有效地减少监控...转载 2019-12-23 22:23:08 · 657 阅读 · 0 评论