
JAVA
Himit_ZH
博客网站:https://www.hcode.top
个人网站:https://youth.hcode.top
展开
-
主程序-子程序、面向对象、事件系统和管道-过滤软件体系结构实现KWIC
KWIC(Key Word In Context),Parnas (1972)索引系统KWIC索引系统接受一些行,每行有若干字,每个字由若干字符组成;每行都可以循环移位,亦即重复地把第一个字删除,然后接到行末; KWIC把所有行的各种移位情况按照字母表顺序输出(不考虑大小写)。输入:若干行字符语句The sun is rising in the eastFlowers are blooming中间过程:循环移位后形成下面的结果The sun is rising in the eas原创 2020-12-09 23:36:59 · 10765 阅读 · 4 评论 -
23种设计模式入门学习记录
目录总起创建型模式单例模式工厂模式简单工厂模式(静态)工厂方法模式抽象工厂模式建造者模式原型模式结构型模式适配器模式桥接模式装饰者模式组合模式外观模式享元模式代理模式静态代理动态代理Cglib代理行为型模式模板模式命令模式访问者模式迭代器模式观察者模式中介者模式备忘录模式解释器模式状态模式策略模式职责链模式总起面向对象(OOP)的七大原则开闭原则: 对扩展开放,对修改关闭里氏替换原则: 继承必须确保超类所拥有的性质在子类中仍然成立依赖倒置原则: 要面向接口编程,不要面向实现编程。单一原创 2020-08-04 21:53:58 · 782 阅读 · 0 评论 -
基于Netty和Java的GUI界面实现在线聊天室软件
前言在线聊天室2.0版本在之前的博文的基础上,更换BIO的socket通信为NIO的Netty框架,添加新功能,整合管理端和用户端。基本功能相较与前一版:添加启动时连接失败,进行有限次重连的操作。(客户端)还有监控连接是否异常中断,进行有限次断线重连操作。(客户端)服务端对客户端进行的心跳检测机制。(服务端与客户端)再则把管理端和服务端的的界面分离出来,使用策略模式,统一一个登录界面,根据是否成功输入管理员秘钥(默认为“HCODE”),负责生成不同的客户端界面(分为管理员和普通用户)。原创 2020-07-11 17:33:28 · 1720 阅读 · 0 评论 -
SpringCloud学习记录(三)分布式配置中心
Spring Cloud config配置中心服务端配置pom依赖 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> <dependency&g原创 2020-07-04 21:53:52 · 215 阅读 · 0 评论 -
SpringCloud学习记录(二)负载均衡,服务熔断,服务降级,服务限流
Ribbon实现负载均衡负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。导入pom依赖单独导入 <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>原创 2020-07-04 17:18:29 · 858 阅读 · 0 评论 -
SpringCloud学习记录(一)服务注册与发现
前言服务治理在传统的RPC远程调用框架中, 管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,所以需要使用服务治理,管理服务与服务之间依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册。服务注册与发现首先在分布式微服务系统中,有一个注册中心,使用CS的设计架构,当服务端的微服务启动时,会把自己当前服务的相关信息(服务名,服务所在主机地址等)注册到注册中心。而消费端的微服务会根据所需的服务端的微服务别名到注册中心获取实际的服务通讯地址,调用远程服务(RPC:dubbo+zk或e原创 2020-07-03 16:57:24 · 264 阅读 · 0 评论 -
Spring Boot集成Spring Security或Shiro实现用户登录认证和授权,thymeleaf与之整合。
一般来说,Web 应用的安全性包括用户认证(Authentication)和用户授权(Authorization)两个部分。用户认证:指的是验证某个用户是否为系统中的合法主体,也就是说用户能否访问该系统。(登录)用户授权:指的是该登录用户是否有执行某个操作的权限。(用户与管理员,游客与商家)集成SpringSecurity在项目导入Spring Security的依赖。<dependency> <groupId>org.springframework.bo.原创 2020-06-29 22:42:15 · 567 阅读 · 0 评论 -
JUC编程:线程池的使用
线程池线程池的好处:降低资源的消耗提高响应的速度方便管理。线程复用、可以控制最大并发数、管理线程三大创建方法ExecutorService threadPool = Executors.newSingleThreadExecutor();// 单个线程ExecutorService threadPool = Executors.newFixedThreadPool(10);// 创建一 个固定的线程池的大小ExecutorService threadPool = Executors.原创 2020-06-28 23:09:55 · 237 阅读 · 0 评论 -
SpringBoot集成ElasticSearch7.6.2进行索引操作和文档操作
ES概述Elaticsearch简称为es, es是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别(大数据时代)的数据。es也使用 Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。 据国际权威的数据库产品评测机构DB Engines的统计,在2016年1月,ElasticSearch已超过Solr等,成 为排名.原创 2020-06-22 13:37:47 · 4193 阅读 · 2 评论 -
SpringBoot的简单创建项目入门
前言时代在变化,科技在进步,程序员不努力,终将会被时代淘汰,就好比SSH(struts+spring+hibernate),SSM(Spring+SpringMVC+Mybatis)框架渐渐地被越多公司所更替掉,配置地狱嘛,受不了,如今,又了简化配置的Springboot微服务框架,当然还有分布式集群的Springcloud框架,进而大部分公司转入Springboot的怀抱,这谁又能说的定,可能以后还会出现Spring××呢,哈哈哈,废话不多说,今天写的是Springboot的简单入门,概述介绍Sprin原创 2020-06-21 00:51:18 · 312 阅读 · 0 评论 -
JAVA利用多线程和Socket制作GUI界面的在线聊天室
目录前言功能设计GUI画面展示服务器端客户端私聊窗口主要代码服务器端客户端其它代码打包成jar打包成exe文件如何让其它电脑访问聊天室?最后前言最近刚好是期末,碰上Java实训,借此将之前写的在线聊天室搬出来,加上GUI(Swing),当成实训作品,记录一下这次实训的结果。本篇文章主要叙述的是① 在线聊天室的代码结构;② 将java文件打包成jar,再打包成exe文件;③ 利用内网穿透技术实现与他人在线聊天。附:在线聊天室实用socket通信,利用的网络协议是TCP,架构为C/S模式(Cli原创 2020-06-11 17:57:17 · 5648 阅读 · 9 评论 -
Java中的IO流(三)Apache Commons IO组件的常用操作
前言这次带来的是Apache开源组织的CommonsIO集成组件的常用操作。下载首先应该去Apache CommonsIO下载网址将组件的压缩包下载到本地。下载完后解压打开文件夹,这两个圈着的jar包便是需要导入到java的JVM里面的导包如何往eclipse导入jar包,可以看看百度经验的eclipse导jar包操作往idea导包操作如下1)打开项目(或者创建项目以后,点击...原创 2020-04-07 14:21:38 · 1458 阅读 · 0 评论 -
Java中的IO流(二)字符流的常用操作
文章目录前言基础概念IO流分类导向图何为输入流和输出流?字符流的分类①节点流②处理流③流的使用一般步骤④流的关闭字符流具体使用Ⅰ文件流①从文件中读取字符①将字符写入文件Ⅱ字符串流Ⅲ字符数组流Ⅳ缓冲流Ⅴ转换流Ⅵ字符打印流最后前言今天带来的是JAVA的IO流中的字符流,Reader和Writer子类流的用法。基础概念流是一种抽象概念,它代表了数据的无结构化传递。按照流的方式进行输入输出,数据...原创 2020-04-06 20:16:25 · 632 阅读 · 0 评论 -
Java中的IO流(一)字节流的常用操作
前言今天带来的是JAVA的IO流中的字节流,InputStream和OutputStram子类流的用法。基础概念流是一种抽象概念,它代表了数据的无结构化传递。按照流的方式进行输入输出,数据被当成无结构的字节序或字符序列。从流中取得数据的操作称为提取操作,而向流中添加数据的操作称为插入操作。用来进行输入输出操作的流就称为IO流。换句话说,IO流就是以流的方式进行输入输出。IO流分类导向图...原创 2020-04-06 14:21:57 · 903 阅读 · 0 评论 -
JDBC数据库的增删改查简单操作
前言本次带来的是JAVA的JDBC操作,对数据库进行发送SQL语句,以达到对数据库语言的增删改查操作需要下载驱动类包MySQL数据库的JDBC驱动包https://dev.mysql.com/downloads/connector/j/SQL Server数据库的JDBC驱动包https://www.microsoft.com/en-us/download/details.aspx?i...原创 2020-02-27 23:28:38 · 373 阅读 · 0 评论 -
JAVA实现无界面控制台版聊天室
前言今天带来的是利用JAVA制作一个简易无GUI的纯控制台聊天室。实现原理:简易TCP网络编程实现客户端与服务器的交流,IO流读写数据,多线程实现多人交流。具体用途(××为指定用户或管理员名字)①普通用户功能:可以聊天室群聊,一对一的私聊(使用@××>);②管理员功能:可以利用#××进行踢人,*广告*发送广告,*广告>修改默认的广告内容步骤① 首先是实现登陆验证的服务器...原创 2020-02-21 21:52:39 · 1960 阅读 · 3 评论 -
JAVA基础———利用IO类的File统计文件夹大小参数
前言利用File类的ListFiles()(子目录所有对象),exists()(判断文件夹路径是否存在),isFile()(判断是否时文件类型),累加length(),利用递归实现。封装一个统计文件夹大小的类。代码package cn.Himit_ZH.io;import java.io.File;/** * @Author: Himit_ZH * @Date: 2020/2/1...原创 2020-02-17 13:24:00 · 414 阅读 · 0 评论