Java
文章平均质量分 70
香草星冰乐
南京理工大学研究生,主要研究方向机器学习的隐私保护。
展开
-
(二)SpringBoot启动流程(概括)
SpringBoot启动流程(概括)Spring boot是Spring家族中的一个全新的框架,它用来简化Spring应用程序的创建和开发过程。特性1.自动配置:针对很多Spring应用程序和常见的应用功能,Spring boot能自动提供相关配置;:2.起步依赖:告诉Spring boot需要什么功能,它就能引入需要的依赖库;3.Actuator:让你能够深入运行中的Spring Boot应用程序,一探Spring boot程序的内部信息;4.命令行界面:这是Spring Boot的可选特性,原创 2021-06-29 15:39:05 · 358 阅读 · 0 评论 -
(一)Spring启动过程(概括)
Spring启动过程Spring在BeanFactory基础上提供了一些列具体容器的实现,其中AnnotationConfigApplicationContext是一个用来管理注解bean的容器,从AnnotationConfigApplicationContext的实现结构图中可以看出:AnnotationConfigApplicationContext继承GenericApplicationContext这个通用应用上下文,GenericApplicationContext内部定义了一个Defau原创 2021-06-29 15:33:23 · 828 阅读 · 1 评论 -
八 消息队列及Rabbitmq
八 消息队列及Rabbitmq消息队列基础八 Rabbitmq实现消息队列基础消息队列应用场景:解耦(耦合性高容错性低)、异步、削峰(秒杀项目将请求缓存起来)消息队列选型:消息队列缺点系统可用性降低(一旦MQ宕机);系统复杂性高(如下所示);一致性问题如何保证高可用?(以Rabbitmq为例)普通集群:1.在多台机器上分别启动RabbitMQ实例。2.多个实例之间可以相互通信。3.创建的Queue只会放在一个RabbitMQ上,其他实例都同步元数据。4.消费的时候,如果连接的没有Que原创 2021-06-27 15:37:54 · 157 阅读 · 1 评论 -
七 Freemarker(项目实现)
七 Freemarker(项目实现思路)初始用背景:目前的文章详情页是一 个普通html, 详情数据是需要经过请求发送到后端才能获得数据,静态化就是每个文章的页面都是独立的一个htm页面,不需要经过后端请求就能直接独立打开供用户浏览。而媒体类网站、或者电商商品页通常会进行页面静态化。页面静态化的优点:●更容易做SEO (被百度和某些其他搜索引擎收录)●加速用户访问,先展示主体部分,也就是文章的详情,然后其他数据异步加载●不经过url请求的同时也降低请求数据库的压力常见的模板引擎: JSP, F原创 2021-06-27 13:25:29 · 340 阅读 · 0 评论 -
十 ElasticSearch(分布式搜索引擎)
ElasticSearch(分布式搜索引擎,记录自己项目中的使用)Elasticsearch 是一个分布式可扩展的实时搜索和分析引擎,一个建立在全文搜索引擎 Apache Lucene™ 基础上的搜索引擎.当然 Elasticsearch 并不仅仅是 Lucene 那么简单,它不仅包括了全文搜索功能,还可以进行以下工作:分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。实时分析的分布式搜索引擎。可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据。核心概念(对比数据库)E原创 2021-06-27 13:19:42 · 235 阅读 · 0 评论 -
利用浏览器存储介质减少数据库压力(Redis)
利用浏览器存储介质减少数据库压力(Redis)背景:用户的基本信息几乎在每个页面都会查询,对与GetUserInfo这个接口来说压力就比较大(即使没有使用数据库的情况下解决措施:用户的基本信息并会频繁的操作,通过浏览器特性,可以存储在浏览器sessionStorage(前端),避免用户频繁刷新,造成的压力。浏览器存储介质其实本质上也可以称之为缓存,比如cookie, 就是早期我们使用最多的,目前用户的id以及token也是保存在cookie理的。通过保存数据后,那么可以获得并且和后端服务器交互。co原创 2021-06-26 21:35:15 · 364 阅读 · 0 评论 -
九 springcloud微服务
springcloud微服务springcloud微服务EurekaRibbonFeginHystrixZuulConfigBusStreamSleuthspringcloud微服务什么是微服务?简单来说,微服务就是把几个类似相似的功能放在一起, 对外提供接口调用,不论是前端调用,还是后端别的系统调用,只要他能尽到自己的职责,为他们提供服务,那么这就是微服务。服务之间彼此可以通过http调用,或者RestTemplate调用。为什么使用微服务?传统的单体架构虽然开发简单,部署简单(甚至不需要运维)原创 2021-06-26 21:28:19 · 143 阅读 · 0 评论 -
IDEA 报错Error creating bean with name ‘elasticsearchClient‘,
IDEA 报错Error creating bean with name ‘elasticsearchClient’,问题描述:由于IDEA需要elasticsearch的版本为6.8.7,于是就安装了6.8.7版本的elasticsearch,结果报错(可以先查看自己安装的版本是否与IDEA中一致)。解决方案:在你使用到elasticsearch的微服务的启动类中进行system.setProperty配置:@SpringBootApplication@MapperScan(basePac原创 2021-06-26 21:17:10 · 995 阅读 · 2 评论 -
Java多模块项目国际化
Java国际化:假设我们正在开发一个支持多国语言的Web应用程序,要求系统能够根据客户端的系统的语言类型返回对应的界面:英文的操作系统返回英文界面,而中文的操作系统则返回中文界面——这便是典型的i18n国际化问题。对于有国际化要求的应用系统,我们不能简单地采用硬编码的方式编写用户界面信息、报错信息等内容,而必须为这些需要国际化的信息进行特殊处理。简单来说,就是为每种语言提供一套相应的资源文件,并以规范化命名的方式保存在特定的目录中,由系统自动根据客户端语言选择适合的资源文件。SpringMVC国际化:原创 2021-03-05 13:19:46 · 538 阅读 · 2 评论 -
java对多级目录文件夹压缩并解压(亲测不乱码)
文件夹压缩与解压:利用apache提供的ant.jar,提供对单个文件与目录的压缩,并支持是否需要创建压缩源目录、中文路径并且提供了测试类import org.apache.tools.zip.ZipEntry;import org.apache.tools.zip.ZipFile;import org.apache.tools.zip.ZipOutputStream;import java.io.*;import java.util.Enumeration;import java.uti原创 2021-01-31 15:30:13 · 1397 阅读 · 1 评论 -
java如何从excel中读取、写入信息(POI)
注意事项:从excel中读取文件的内容应该没一行一列都有对应元素素,如下图所示:POI读取excel代码:import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.text.DecimalFormat;import java.text.SimpleDateFormat;import java.util.原创 2021-01-31 15:05:47 · 315 阅读 · 3 评论 -
遍历xml多级树形结构
问题描述:清楚电脑中不堪入目的恶意插件以及恶意弹窗:解决方案:提示:这里填写该问题的具体解决方案:例如:新建一个 Message 对象,并将读取到的数据存入 Message,然后 mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();换成 mHandler.sendMessage()。...原创 2021-01-29 10:52:56 · 404 阅读 · 0 评论 -
从头开始上传项目至Github
从头开始上传项目至Github文章目录从头开始上传项目至Github前言一、Git的下载与安装二、上传1.本地打开bash2.输入git init3.输入git add .4.输入git commit -m "first commit" .5.输入git remote add origin https://自己的仓库url地址三、问题解决1.输入git remote add origin https://自己的仓库url地址时报错前言首先需要下载Git一、Git的下载与安装Git最新下载网原创 2020-12-09 10:27:10 · 269 阅读 · 0 评论 -
java Swing点击按钮新建界面卡死
项目场景:java Swing问题描述:通过点击按钮调用本机摄像头,出现原Jframe与调用摄像头Jframe卡死 原因分析:原Jrame是一个线程,新建的调用摄像头Jframe可能与原Jframe冲突,因此将调用摄像头的代码写入新开的线程即可解决方案:新建线程。@Override new Thread() { public void run() { //写插入的代码 try {原创 2020-12-08 10:22:34 · 935 阅读 · 1 评论 -
no opencv_java430 in java.library.path
no opencv_java430 in java.library.path问题状况解决措施问题状况在导入Java opencv包后,编译运行出现错误解决措施去官网https://opencv.org/下载,把opencv_java430.dll 放在C:\Program Files\Java\jdk1.8.0_231\bin 目录下即可运行成功。...原创 2020-12-08 09:59:53 · 1947 阅读 · 0 评论