![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
基础知识
文章平均质量分 68
_从头再来_
不积跬步无以至千里
展开
-
SpringFramework、SpringBoot、SpringCloud的区别
Spring是一个技术生态体系,是集大成者。它包含了Spring Framework、Spring Boot、Spring Cloud等(还包括Spring Cloud data flow、spring data、spring integration、spring batch、spring security、spring hateoas),可以参考链接:https://spring.io/projects 下图为部分内容。Spring Framework是一个一站式轻量级的java开发框架,转载 2020-12-25 11:11:34 · 746 阅读 · 0 评论 -
SQL表列解析
POM依赖:<dependencies> <!--DOM4J --> <dependency> <groupId>org.dom4j</groupId> <artifactId>dom4j</artifactId> <version>2.1.1</version> </dependency> <dependency> <g.原创 2020-12-22 14:42:15 · 462 阅读 · 0 评论 -
FeHelper ( 浏览器插件 )
Web开发者助手 FeHelper本插件支持Chrome、Firefox、MS-Edge浏览器,内部工具集持续增加,目前包括 JSON自动/手动格式化、JSON内容比对、代码美化与压缩、信息编解码转换、二维码生成与解码、图片Base64编解码转换、Markdown、 网页油猴、网页取色器、脑图(Xmind)等贴心工具,甚至在目前新版本的FeHelper中,还集成了FH开发者工具, 如果你也想自己搞一个工具集成到FeHelper中,那这一定能满足到你。另外,本站也提供部分工具的在线版本,欢迎使用,欢迎反馈原创 2020-12-15 16:12:29 · 2411 阅读 · 2 评论 -
CAP理论中的P含义
一个分布式系统里面,节点组成的网络本来应该是连通的。然而可能因为一些故障,使得有些节点之间不连通了,整个网络就分成了几块区域。数据就散布在了这些不连通的区域中。这就叫分区。当你一个数据项只在一个节点中保存,那么分区出现后,和这个节点不连通的部分就访问不到这个数据了。这时分区就是无法容忍的。提高分区容忍性的办法就是一个数据项复制到多个节点上,那么出现分区之后,这一数据项就可能分布到各个区里。容忍性就提高了。然而,要把数据复制到多个节点,就会带来一致性的问题,就是多个节点上面的数据可能是不一致的。要原创 2020-12-08 14:57:34 · 615 阅读 · 0 评论 -
基于注解的线程池配置
package com.service.threads;import java.lang.reflect.Method;import java.util.concurrent.Executor;import java.util.concurrent.ThreadPoolExecutor;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.aop.interceptor.Async.原创 2020-12-04 19:14:47 · 266 阅读 · 0 评论 -
Docker镜像生成
1 创建 docker file my-dockerfile.txtFROM hub. yun paic. com. cn/vvs/Jdk8: 7#定义需要启动的jar包ENV BASE PATH /opt/tjues/layou#创建copy路径RUN mkdir -p $BASE_PATH#复制到服务器的目录下WORKDIR /opt/tjuesCOPY mypackage.jar $BASE_PATH#运行JAR文件CMD ["java", "-jar","-Xmsl024m",.原创 2020-11-21 19:33:25 · 175 阅读 · 0 评论 -
项目maven发布配置
mvn install会将项目生成的构件安装到本地Maven仓库,mvn deploy用来将项目生成的构件分发到远程Maven仓库。本地Maven仓库的构件只能供当前用户使用,在分发到远程Maven仓库之后,所有能访问该仓库的用户都能使用你的构件。我们需要配置POM的distributionManagement来指定Maven分发构件的位置,如下:Xml代码<project>...<distributionManagement>...原创 2020-07-10 10:32:12 · 170 阅读 · 0 评论 -
如何成为一名资深Java架构师?
1架构师是什么?要想往架构师的方向发展首先要知道架构师是什么?架构师是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物。一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清单。架构师在软件开发的整个过程中起着很重要的作用。说的详细一些,架构师就转载 2018-04-18 11:30:58 · 271 阅读 · 0 评论 -
Netty
1.为什么选择Netty上一篇文章我们已经了解了Socket通信(IO/NIO/AIO)编程,对于通信模型已经有了一个基本的认识。其实上一篇文章中,我们学习的仅仅是一个模型,如果想把这些真正的用于实际工作中,那么还需要不断的完善、扩展和优化。比如经典的TCP读包写包问题,或者是数据接收的大小,实际的通信处理与应答的处理逻辑等等一些细节问题需要认真的去思考,而这些都需要大量的时间和经历,以及丰富转载 2018-04-25 10:51:28 · 207 阅读 · 0 评论 -
Remote operate server
1. create a web project like bellow:2. configure file3. add a.jsp file <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%><%@ page import="java...原创 2018-05-10 10:53:57 · 392 阅读 · 0 评论 -
命令行运行jar 并传参数
1.首先新建Test.java Java代码 public class Test { public static void main(String[] args) { String str = args[0]; System.out.println(str); } } 12345672.javac Test.java 3...原创 2018-07-07 08:28:12 · 15255 阅读 · 1 评论 -
程序设计原则
1.单一职责简单来说单一职责就是一个类只负责一个功能。更加具体的说就是对一个类而言,应该是一组相关性很高的函数、数据的封装,是高内聚低耦合的,对外界而言应该仅有一个引起它变化的原因。单一职责在项目中的使用:1.项目中的新手引导变量的管理可以统一在各自的Modle中用单独的类来管理2.MVP模式P层生命周期与V层生命周期的同步可以用单独的包装类来实现,3.各种基础框架功能的定义,...转载 2018-07-29 22:11:31 · 315 阅读 · 0 评论 -
java读取文件内容几种方式
原地址package com.readfile;import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.FileReader;import java.io.IOException;import java.io.InputStream;impo...转载 2018-07-30 22:16:25 · 993 阅读 · 0 评论 -
Java读取工程里的文件
我们会经常遇到这样的问题,工程里有一个文件,Java程序要读取这个文件,不采用绝对路径的方法,而使用相对路径来读取文件。以后迁移到其他机器上就不会出现读取文件失败的问题了。以下就介绍java如何读取相对路径的文件。1.java project环境,使用java.io用相对路径读取文件的例子: *目录结构: DecisionTree |___src ...转载 2018-07-28 08:54:06 · 8783 阅读 · 0 评论 -
序列化详解
1、定义Serialization(序列化)为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来,即将对象以一连串的字节描述;反序列化deserialization是一种将这些字节重建成一个对象的过程。2、需要实现序列化的几种情况 (1)想把内存中的对象保存到一个文件中或者数据库中时候;(2)想用套接字在网络上传送对象的时候;(3)想通过RMI传输对象的时候;转载 2018-03-28 10:54:51 · 190 阅读 · 0 评论 -
四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)
众所周知,现在解析XML的方法越来越多,但主流的方法也就四种,即:DOM、SAX、JDOM和DOM4J下面首先给出这四种方法的jar包下载地址DOM:在现在的Java JDK里都自带了,在xml-apis.jar包里SAX:http://sourceforge.net/projects/sax/JDOM:http://jdom.org/downloads/index.htmlD转载 2018-03-28 09:23:06 · 121 阅读 · 0 评论 -
java 多线程并发系列之 生产者消费者模式的两种实现
生产者消费者模式是并发、多线程编程中经典的设计模式,生产者和消费者通过分离的执行工作解耦,简化了开发模式,生产者和消费者可以以不同的速度生产和消费数据。真实世界中的生产者消费者模式生产者和消费者模式在生活当中随处可见,它描述的是协调与协作的关系。比如一个人正在准备食物(生产者),而另一个人正在吃(消费者),他们使用一个共用的桌子用于放置盘子和取走盘子,生产者准备食物,如转载 2018-01-15 22:47:46 · 215 阅读 · 0 评论 -
Thread的中断机制(interrupt)
中断线程线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序本身。线程会不时地检测这个中断标示位,以判断线程是否应该被中断(中断标示值是否为true)。它并不像stop方法那样会中断一个正在运行的线程。判断线程是否被中断判断某个线程是否已被发送过中转载 2018-01-15 14:12:27 · 190 阅读 · 0 评论 -
IO和NIO两种方式实现文件拷贝
[java] view plain copypackage com.lovo; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; impo原创 2018-02-28 17:37:07 · 2113 阅读 · 0 评论 -
Filter与Servlet的区别与联系
在我们写代码时,在web.xml中总能发现类似下面的代码:[html] view plain copyprint?span style="font-family:KaiTi_GB2312;font-size:18px;">span style="font-family:KaiTi_GB2312;font-size:18px;">xml ver转载 2018-03-01 07:27:35 · 476 阅读 · 0 评论 -
JavaWeb三大组件(Servlet、Filter、Listener)
JavaWeb三大组件指的是:Servlet、Filter、Listener,这三个组件在JavaWeb开发中分别提供不同的功能,然而很多人可能只用过其中一个或者两个(Servlet、Filter,比如我),很难接触到第三个组件,因此对原始JavaWeb开发还不够熟悉,在这种情况下进行框架学习,这种做法是并不可取,框架是大牛们对原始JavaWeb进行封装的结果,没有原始JavaWeb开发基础是很难转载 2018-03-02 10:00:41 · 111 阅读 · 0 评论 -
CGLIB(Code Generation Library)详解
什么是CGLIBCGLIB是一个强大的、高性能的代码生成库。其被广泛应用于AOP框架(Spring、dynaop)中,用以提供方法拦截操作。Hibernate作为一个比较受欢迎的ORM框架,同样使用CGLIB来代理单端(多对一和一对一)关联(延迟提取集合使用的另一种机制)。CGLIB作为一个开源项目,其代码托管在github,地址为:https://github.com/cglib/cglib转载 2018-03-05 09:58:14 · 167 阅读 · 0 评论 -
mybatis #{} 以及 ${}
动态 sql 是 mybatis 的主要特性之一,在 mapper 中定义的参数传到 xml 中之后,在查询之前 mybatis会对其进行动态解析。mybatis 为我们提供了两种支持动态 sql 的语法:#{} 以及 ${}。在下面的语句中,如果 username 的值为 zhangsan,则两种方式无任何区别:select * from user where name =原创 2018-03-26 09:58:56 · 204 阅读 · 0 评论 -
几种序列化协议的介绍
序列化概述1.序列化定义序列化(serialization)就是将对象序列化为二进制形式(字节数组),一般也将序列化称为编码(Encode),主要用于网络传输、数据持久化等;反序列化(deserialization)则是将从网络、磁盘等读取的字节数组还原成原始对象,以便后续业务的进行,一般也将反序列化称为解码(Decode),主要用于网络传输对象的解码,以便完成远程调用。转载 2018-03-28 09:12:08 · 13926 阅读 · 0 评论 -
Java中初始化块和静态初始化块的区别
http://www.cnblogs.com/woshijpf/articles/3632489.html 在Java中,有两种初始化块:静态初始化块和非静态初始化块.静态初始化块:使用static定义,当类装载到系统时执行一次.若在静态初始化块中想初始化变量,那仅能初始化类变量,即static修饰的数据成员.非静态初始化块:在每个对象生成时都会被执行一次,可以初始化类的实例变量.非静态...转载 2018-07-28 08:56:14 · 2485 阅读 · 0 评论 -
React-JSX语法
JSX语法详解本文在官方文档的基础上,进行了扩展扩展补充和一些解读。基本涵盖了JSX语法的细枝末节,JSX语法本身并不复杂,也容易掌握。本文供学习参考使用。一、基础1、JSX是什么JSX是一种像下面这样的语法:const element = <h1>Hello, world!</h1>; 它是一种JavaScript语法扩展,在React中可...转载 2018-08-11 09:20:04 · 1247 阅读 · 0 评论 -
PDF解析
iText简介 iText是著名的开放源码的站点sourceforge一个项目,是用于生成PDF文档的一个java类库。通过iText不仅可以生成PDF或rtf的文档,而且可以将XML、Html文件转化为PDF文件。 iText的安装非常方便,在http://itextpdf.com/网站上下载iText.jar文件后,只需要在系统的CLASSPATH中加入iText.jar的路径,...原创 2019-09-27 09:09:47 · 864 阅读 · 0 评论 -
什么是中台?企业为什么要建中台?从数据中台到AI中台
转自https://blog.csdn.net/wowotuo/article/details/87432216什么是中台?企业为什么要建中台?从数据中台到AI中台。白发川 CMKT咨询圈 前天https://mp.weixin.qq.com/s/cwtaHltF53yzV7zjZAah8g?from=groupmessage&isappinstalled=0作者:王健来源:...原创 2019-05-05 10:36:56 · 795 阅读 · 0 评论 -
JDK8 特殊字符处理
package com.config;import org.springframework.boot.web.embedded.tomcat.TomcatConnectorCustomizer;import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;import org.spring...原创 2019-04-09 15:21:28 · 528 阅读 · 0 评论 -
meter插件的使用-线程组
一、线程组1、jp@gc - Stepping Thread Group,如下图:类似loadrunner的场景设置,解释:This Group will start 10 threads:这次的测试总共会起10个线程。First , wait for 0 seconds:等待0s后开始起线程,也就是不等待直接起线程。Then start 5 threads every 10 ...原创 2019-04-15 21:00:11 · 493 阅读 · 0 评论 -
JAXB demo
过往的项目中数据存储都离不开数据库,不过最近做的一个项目的某些数据(比如人员信息、菜单、权限等等)却完全没有涉及任何数据库操作,直接XML搞定。这里无意比较优劣,因为数据库存储和XML存储本就有不同的适用场景,盲目比较毫无意义,只是因为业务需要,仅此而已。先来概念一下——XML,可扩展标记语言,设计宗旨是用来传输数据而非显示数据,其遵循W3C标准,是一种通用的数据交换格式,具有很强的跨平台性,并且...转载 2019-03-27 23:18:09 · 306 阅读 · 0 评论 -
top查看cpu
1. Linux下,如何看每个CPU的使用率:#top-d 1(此时会显示以1s的频率刷新系统负载显示,可以看到总的CPU的负载情况,以及占CPU最高的进程id,进程名字等信息)(切换按下数字1,则可以在显示多个CPU和总CPU中切换)之后按下数字1. 则显示多个CPU (top后按1也一样)Cpu0 : 1.0%us, 3.0%sy, 0.0%ni, 96.0%...转载 2019-03-21 21:34:27 · 5852 阅读 · 0 评论 -
logback的使用和logback.xml详解
一、logback的介绍Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。它当前分为下面下个模块:logback-core:其它两个模块的基础模块 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging l...转载 2019-03-21 11:31:05 · 185 阅读 · 0 评论 -
mina发送数据延时
由于项目需要,用到了 mina 框架进行 tcp 通讯。我是初次接触 mina,于是从 Hello world 开始学习了 mina 。期间遇到了一个奇怪的发送数据的延迟问题,解决的过程是曲折的,但找出的原因却令我“吐血”(没真的吐……)。不管怎样,还是贴出来一下作反面案例,希望初次学习 mina 的时候能够绕过这个地雷。 hello world 演示很简单,分为两部分,server 和 ...转载 2019-01-13 17:29:30 · 1263 阅读 · 1 评论 -
系统设计原则
以技术先进、系统实用、结构合理、产品主流、低成本、低维护量作为基本建设原则,规划系统的整体构架.先进性:在产品设计上,整个系统软硬件设备的设计符合高新技术的潮流,媒体数字化、压缩、解压、传输等关键设备均处于国际领先的技术水平。在满足现期功能的前提下,系统设计具有前瞻性,在今后较长时间内保持一定的技术先进性。安全性:系统采取全面的安全保护措施,具有防病毒感染、防黑客攻击...转载 2019-01-08 10:10:47 · 15379 阅读 · 0 评论 -
Docker部署JavaWeb项目实战
摘要:本文主要讲了如何在Ubuntu14.04 64位系统下来创建一个运行Java web应用程序的Docker容器。 一、下载镜像、启动容器1、下载镜像先查看镜像docker images 记住这个Image ID,下面我们启动容器需要用到它。如果看到以上输出,说明您可以使用“oursuer/ubuntu”这个镜像了,或将其称为仓库(Repository),该...转载 2018-12-21 10:30:03 · 1234 阅读 · 0 评论 -
java.nio.Buffer 中的 flip()方法
在Java NIO编程中,对缓冲区操作常常需要使用 java.nio.Buffer中的 flip()方法。 Buffer 中的 flip() 方法涉及到 Buffer 中的capacity、position、limit三个概念。 capacity:在读/写模式下都是固定的,就是我们分配的缓冲大小(容量)。 position:类似于读/写指针,表示当前读(写)...转载 2018-12-26 14:56:57 · 1940 阅读 · 1 评论 -
eclipse中使用git技巧
1、①、整个版本还原当需要还原到某个版本时(多文件),操作如下右击项目--》Team--》Show in History 出现如下这里显示你提交的版本,选择你要还原的版本--》右击--》Reset--》Hard 注意:此步骤会将所有文件还原到选择版本 ②、单文件还原当某一文件编辑到一半后想还原选择你要还原的文件右击--》Team--》Show Local H...原创 2018-11-12 22:30:15 · 142 阅读 · 0 评论 -
阿里数据库连接池Druid
Druid是什么?Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。同时Druid不仅仅是一个数据库连接池,它包括四个部分:Druid是一个...原创 2018-10-27 22:47:51 · 32927 阅读 · 2 评论 -
Java 8:当重载遇上lambda
要设计出好的API绝非易事。真的是很不容易。如果你希望用户能给你的API点个赞的话,设计的时候需要考虑得非常周全。你必须得在以下几点中找到一个平衡点:实用性 可用性 向后兼容 向前兼容我在前面的优秀的API是如何炼成的一文中也提到了同样的问题。今天,我们来看一下,Java 8是如何破坏了这个游戏规则的:没错,就是破坏。重载的便利性主要体现在以下两个方面:提供了不同的...原创 2018-12-25 17:22:29 · 567 阅读 · 0 评论