Java
文章平均质量分 85
永远_不会懂
加油!
展开
-
如何在JAVA项目中实现反向代理功能?
前言(什么是反向代理)反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。举个例子,比如我访问百度(www.baidu.com),但是我们其实并不知道百度内部到底有多少台服务器、百度是怎么处理这次请求的以及我们应该访问那台服务器。我们只是知道我访问了百度(www.baidu.com)的域名或者公网IP,然后就返回原创 2021-02-21 22:02:45 · 7741 阅读 · 4 评论 -
领域驱动设计(DDD)入门&概要
我们为什么需要领域驱动设计在说什么是领域驱动设计之前,我觉得需要先说一下我们为什么需要领域驱动,我个人认为领域驱动设计对于研发来说改进点主要有下面三个:从大泥球风格中解脱出来,控制代码复杂度 回归面向对象编程本质,而不是面向过程编程 专注于业务,实现不同业务领域解偶什么是领域驱动设计领域驱动设计(DDD)是一种软件设计思路,领域指的是业务领域,比如银行业务领域,医药销售领域;不同于传统以数据表为中心的建模方式,它以业务领域为中心来建模,能促使我们以正确的方式使用面向对象,建立饱满的领域对象原创 2020-10-19 23:16:14 · 4160 阅读 · 1 评论 -
Java Lambda表达式
前言随着函数式编程的流程,Java8中也引入了函数式编程风格(Lambda表达式)。Lambda表达式允许我们将行为传递到函数中,其可以替换匿名内部类实现的繁琐的代码。下面就是一个最经典的例子,用普通的匿名内部类一共用了6行代码,使用Lambda表达式只需要1行代码即可。也就是说,Lambda表达式在经常使用内部类情况下,可以大大的减少代码量,还有就是Lambda表达式经常和Stream AP...原创 2019-06-13 14:08:35 · 500 阅读 · 0 评论 -
【分布式】高性能分布式发号器
关于数据库主键生成在我们的业务中,数据库表主键是需要保证唯一的,有序的。通常在单表(不分库、分表)情况下,我们可以直接使用主键自增长来实现。但是这种模式存在几点明显的缺点:1、不能支持分库分表;2、基于数据库生成,会影响数据库性能;3、数据清洗迁移比较麻烦。针对以上的情况,我们可以通过应用服务生成UUID来实现唯一的主键,但是UUID却存在下面几点问题:1、UUID不具有有序性;2、UUID生...原创 2019-04-19 19:53:24 · 986 阅读 · 0 评论 -
Java NIO简介和使用
前言Java NIO其实就是JDK1.4中加入的新的基于Channel和Buffer的Iuput/Output方式。我个人认为NIO主要有以下两个优点:同步非阻塞:这点是指在结合使用Selector时,会不断的轮询,查看注册的事件是否就绪;而非阻塞模式可以是当前线程不需要傻傻的等待所以的数据都读取完毕再继续向下执行。所以通过通过非阻塞模式加Selector可以仅仅使用一个线程就能管理多个输...原创 2018-10-28 17:18:00 · 958 阅读 · 0 评论 -
Java并发编程—内存模型
什么是并发?并发是指多个执行单元同时并行执行,并发通常能够加大系统的利用率和吞吐量。不过并发的执行单位经常会造成共享资源出现竞争状态。Java内存模型在Java并发中,线程间的通信是通过Java内存模型(Java Memory Model)控制的。JMM能屏蔽掉各种硬件和操作系统的内存访问差异,使Java在各种平台让运行的效果一致。要实现Java并发编程我们必须要了解Java内存模型(...原创 2018-08-11 18:41:05 · 413 阅读 · 0 评论 -
读Spring实战(第四版)概括—高级装配
1.环境与Profile在开发软件的时候,有时候需要从一个环境迁移到另一个环境。比如在开发阶段我们使用的是dev的环境,在测试阶段使用的是product环境,这时我们就需要不同的配置。Spring同样也提供了类似的解决方案(在Spring3.1中引入了bean profile功能)。如下所示,是一个使用@Profile注解来实现的实例。首先需要准备两个配置类:// ProdConfiguratio...原创 2018-05-27 11:01:53 · 540 阅读 · 0 评论 -
java—反射
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。当一个字节码文件加载到内存中的时候,jvm会对该字节码进行解剖,然后会创建一个对象的Class对象,把字节码文件的信息全部存储到该class对象中,我么只要获取到class对象,我们就可以原创 2016-08-10 10:07:06 · 365 阅读 · 0 评论 -
java—线程的使用
** 概念进程:简单说就是一个正在运行的程序。进程负责分配程序的内存空间等资源。线程:一个进程的某个执行流程。一个进度可以有多个线程。进程中的多个线程共享进程的内存。多线程就是一个进程中有多个线程同时进行。对于电脑,多个程序同时运行,其实是CPU的分时机制在起作用,不过现在都是多核的电脑了。多线程意味这可以在一个进程里同时执行多个任务。而且可以提高资源的利用率。# 如何使线原创 2016-07-18 13:35:13 · 900 阅读 · 0 评论 -
java—Object类
Object类是所有类的基类,所以类都继承于Object。Object类中有11个方法protected objectclone()创建并返回对象的一个副本booleanequals()比较两个对象是否相等protected voidfinalize()对象的垃圾原创 2016-07-12 10:40:46 · 409 阅读 · 0 评论