
Java
文章平均质量分 87
haozlee
多年linux开发经验,熟悉c++,python。个人主页:https://leehao.me
展开
-
Spring Cloud Gateway 网关
Spring Cloud 在最新版本 2020.0.0 开始,已去除了 Zuul 网关的使用,改用 Spring Cloud Gateway 作为网关。Spring Cloud Gateway 基于 Spring WebFlux 框架实现,相对于 Zuul 来说,性能更高。本文讲述如何在 Spring Cloud 中使用 Nacos 作为注册中心,通过 Spring Cloud Gateway 实现 API 路由的功能。启动 Nacos由于需要使用 Nacos 作为注册中心,网关和微服务都注册到 N原创 2021-02-11 10:13:33 · 525 阅读 · 0 评论 -
Spring Cloud + MyBatis + Druid 动态数据源实现
最近公司某项目计划对数据库进行水平分库处理,因此需要实现程序根据参数自动切换数据库的功能。本文讲述如何在 Spring Cloud + MyBatis + Druid + Oracle 环境下实现动态数据源切换的功能。配置数据源在两个 Oracle 数据库创建 Person 表,并插入几行数据:create table Person( id NUMBER(8) not null, name VARCHAR2(64) not null)INSERT INTO Person (id, n原创 2021-02-11 10:12:06 · 1398 阅读 · 0 评论 -
Spring Cloud 使用 Nacos 作注册中心
文章 《Spring Cloud 使用 Nacos 作配置中心》 描述了如何在 Spring Cloud 使用 Nacos 作配置中心的使用方法,本文在此基础上,使用 Nacos 作为 Spring Cloud 的注册中心。安装 Nacos为简单起见,这里使用单机版本的 Nacos Server 作为注册中心,安装过程可以参考 《Spring Cloud 使用 Nacos 作配置中心》。服务提供者服务提供者在文章 《Spring Cloud 使用 Nacos 作配置中心》 源代码 springclo原创 2021-02-11 10:10:49 · 849 阅读 · 0 评论 -
Spring Cloud 使用 Nacos 作配置中心
title: Spring Cloud 使用 Nacos 作配置中心date: 2021-01-14 18:35:39tags:JavaSpring CloudNacoscategories:JavaNacos 是 Spring Cloud Alibaba 核心组件之一,可以用作 Spring Cloud 的注册中心和配置中心。本文讲述如何在 Spring Cloud 中使用 Nacos 作为配置中心。安装 Nacos与 Spring Cloud Config 和 Eurek.原创 2021-02-11 10:08:00 · 1706 阅读 · 2 评论 -
Spring Boot Druid 使用教程
阿里巴巴开源的 Druid 是 Java 语言的数据库连接池,提供了强大的监控和扩展功能。本文讲述如何在 Spring Boot 项目中使用 Druid 数据库连接池。教程基于文章 《Spring Boot MyBatis 学习教程》 配套的源代码进行扩展,添加 Druid 数据库连接池和监控的功能。如果读者对于 Spring Boot 如何使用 MyBatis 还不了解,可以先完成文章 《Spring Boot MyBatis 学习教程》 的阅读和学习。添加依赖在 pom.xml 文件添加当原创 2021-01-12 17:27:55 · 2059 阅读 · 0 评论 -
Spring Boot MyBatis 学习教程
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL,存储过程以及高级映射。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects)为数据库中的记录。本文讲述如何在 Spring Boot 框架中基于 XML 方式使用 Mybatis。创建 MySQL 数据表本文采用 MySQL 数据库作为数据源,创建用户表 user:CREATE TABLE `user`( `id` int(32)原创 2021-01-11 14:00:34 · 648 阅读 · 1 评论 -
Spring Boot 多线程使用
Spring Boot 提供了非常优雅使用多线程执行任务的方式,本文说明 Spring Boot 项目如何利用 ThreadPoolTaskExecutor 来使用多线程。创建 Spring Boot 项目使用 IntelliJ Idea 创建向导创建一个 Spring Boot 项目,或者在 Spring 官网创建一个 Spring Boot 项目,地址:https://start.spring.io/。由于创建过程比较简单,此处不再赘述。其中,pom.xm 文件如下:<?xml vers原创 2021-01-05 19:09:58 · 1596 阅读 · 2 评论 -
Dubbo 入门应用程序
Dubbo 是一款微服务框架,提供高性能 RPC 通信,服务发现,流量管理等服务治理能力,提供构建大规模微服务集群所需的整套解决方案。本文讲述如何利用 Dubbo 快速构建一个完整的服务端 - 客户端程序,包括基于 XML,注解和 API 的方式实现一个 Dubbo 的 demo。配置开发环境本文使用 IntelliJ IDEA 作为 Dubbo 应用程序开发的 IDE。安装 ZooKeeperDubbo 推荐使用 ZooKeeper (下文简称为 zk)作用注册中心,为简单起见,本文搭建一个单机原创 2020-11-11 21:31:44 · 510 阅读 · 0 评论 -
Samba 服务器搭建与 Java 客户端实现
最近需要将原来使用阿里云 OSS 的程序模块改成使用公司内部搭建的文件服务器,由于目前使用的文件不多,且都是一些小文件,经过对比后,决定采用 Samba 来实现文件服务器。Samba 是一个程序的集合,包括服务器与客户端程序,它允许在 Linux 与 Windows 实现共享文件的功能。本文先讲述如何在 CentOS 7 下安装与配置 Samba,然后讲述如何使用 Java 来实现 Samba ...原创 2019-01-03 12:32:52 · 2588 阅读 · 0 评论 -
深入理解 Spring AOP
AOP,Aspect Oriented Programming,面向切面编程,是指在运行时,动态地将代码切入到类的指定方法、指定位置上的一种编程技术。AOP 是 OOP 的延续,是软件开发中的一个热点,也是 Spring 框架中的一个重要内容。利用 AOP 可以对业务逻辑与横切关注点(cross-cutting concerns,例如日志记录,事务处理)进行隔离,从而使得业务逻辑与横切关注点的耦合...原创 2018-06-27 15:18:24 · 1516 阅读 · 0 评论 -
Java 使用 Rserve 实现与 R 的通信
Rserve 是一个基于 TCP/IP 的服务器程序,它允许其他语言调用 R 语言。由于 Rserve 采用 C/S (客户端/服务器)的调用方式,因此客户端并不需要链接 R 语言库,客户端程序与 R 程序可以实现低耦合的目的。 为调用 R 语言,需要实现一个与 Rserve 通信的客户端程序,幸运的是目前常用的语言包括 C/C++,PHP,Java 等都实现提供与 Rserve 通信的客户端程...原创 2018-06-20 16:38:55 · 2478 阅读 · 1 评论 -
Spring MVC 入门例子
Spring Web MVC 是一个建立在 Servlet API 的 Web 框架,它属于 Spring Framework 的产品。Spring Web MVC 名称来源于模块 spring-webmvc ,但它更常用的叫法是 Spring MVC。 本文讲述如何使用 IntelliJ IDEA 来编写一个 Spring MVC Demo。使用 IntelliJ IDEA 创建一个 Ma...原创 2018-06-18 21:16:08 · 2919 阅读 · 0 评论 -
java面试笔试题大汇总 ~很全面
第一,谈谈final, finally, finalize的区别。 最常被问到。 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 第三,Static Nested Class 和 Inner Class的不同,说得越多越好(面试题有的很笼统)。转载 2007-07-04 21:48:00 · 2854 阅读 · 0 评论 -
在多线程环境中使用Jedis
Jedis是一个Java语言的Redis客户端,它为Java语言连接与操作Redis提供了简单易用的接口。Jedis不是线程安全的,故不应该在多线程环境中共用一个Jedis实例。但是,也应该避免直接创建多个Jedis实例,因为这种做法会导致创建过多的socket连接,性能不高。 要保证线程安全且获得较好的性能,可以使用JedisPool。原创 2020-03-04 08:18:37 · 33847 阅读 · 7 评论 -
MongoDB Java使用指南
MongoDB是当今非常流行的一款NoSQL数据库,本文介绍如何使用MongoDB的Java驱动来操作MongoDB。 引入MongoDB Java Driver包如果需要操作MongoDB的Java项目是一个Maven项目,可以在依赖中加上以下的配置。<dependencies> <dependency> <groupId>org.mongodb</groupId>原创 2015-09-02 11:45:39 · 40662 阅读 · 2 评论 -
Jedis实现Publish/Subscribe功能
Redis为我们提供了publish/subscribe(发布/订阅)功能。我们可以对某个channel(频道)进行subscribe(订阅),当有人在这个channel上publish(发布)消息时,redis就会通知我们,这样我们可以收到别人发布的消息。 作为Java的redis客户端,Jedis提供了publish/subscribe的接口。本文讲述如何使用jedis来实现redis的pub原创 2015-09-11 14:30:04 · 42640 阅读 · 9 评论 -
Tomcat 学习笔记
概述Tomcat 是一开源的 Java Web 服务器,是当今最流行的基于 Java 的 Web 应用服务器。Tomcat 具有以下特点:Apache软件基金会出口开源软件源代码是Java写的由于Tomcat 是使用Java语言实现的,因此Tomcat 的运行依赖于 Java 运行环境,故运行 Tomcat 前需要正确安装 JRE(Java Runtime Environment)。安装可以原创 2017-01-01 23:51:46 · 2746 阅读 · 1 评论 -
Python 和 Java 进行 DES 加密和解密
DES 为 Data Encryption Standard (数据加密标准)的缩写,是一种常见的对称加密算法。有关对称加密与非对称加密的特点及其应用场景,本文就不描述了,读者可以自行 google 。本文说明如何使用 Java 和 Python 两种语言来实现 DES 的加解密。最近碰到的应用场景是这样的。我们需要对接一个系统 S,系统 S 已经对用户的身份进行了验证,新系统 N 也需要对用户的身原创 2017-11-17 09:22:45 · 10537 阅读 · 2 评论 -
使用 JDBC 连接MySQL
JDBC(Java Database Connectivity,Java数据库连接)是 Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。 本文讲述如何使用 JDBC 来连接和访问数据库。为方便引入 JDBC 依赖包,我们创建 Maven 项目来实现我们的示例程序。 打开 IntelliJ IDEA 客户端,File - New - ...原创 2018-06-14 16:19:14 · 7176 阅读 · 0 评论 -
Hibernate 实现增删查改
Hibernate 是一种 Java 语言下的对象关系映射的解决方案,它为面向对象的领域模型到传统的关系型数据库的映射提供了一个使用方便的框架。 本文讲述如何使用 Hibernate 来实现数据库中基本的增删查改操作。创建数据库表为实现我们的例子,我们先创建一个表EMPLOYEES并插入一些数据。CREATE TABLE EMPLOYEES ( EMP_ID BIGINT...原创 2018-06-15 16:49:59 · 943 阅读 · 0 评论 -
深入理解 Spring 控制反转与依赖注入
概览对于 Spring 框架来说,控制反转(Inversion of Control, IoC)和依赖注入(Dependency Injection, DI)是个等同的概念,控制反转是通过依赖注入实现的。在这篇文章中,我们会详细介绍 IoC 和 DI 的概念,然后我们会讨论 Spring 框架中是如何实现 IoC 和 DI 的。什么是控制反转IoC 是软件工程的一个设计原则,是指对...原创 2018-06-25 16:31:17 · 4548 阅读 · 1 评论 -
J2EE总体的学习计划
第一部分: JAVA语言基础知识。包括异常、IO流、多线程、集合类、数据库。(切记基础知识一定要时时刻刻巩固) 要求:对java的封装,生命周期等有一定的了解; 异常------掌握try-catch-finally的使用 IO流------掌握字节流、字符流和对象序列化的处理.。熟练使用各种输入、输出流类(InputStream、O转载 2007-11-23 23:42:00 · 934 阅读 · 0 评论