自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MyHome

永不言弃

  • 博客(73)
  • 收藏
  • 关注

原创 分布式文件系统架构

FastDFS分布式文件系统集群环境搭建-操作步骤手册搭建一个FastDFS分布式文件系统集群,推荐至少部署6个服务器节点;================================搭建FastDFS的集群==============================第一步:安装6个迷你版的Linux,迷你版Linux没有图形界面,占用磁盘及资源小,企业里面使用的Linux都是没有图形界面的Linux;第二步:由于迷你版Linux缺少一些常用的工具库,操作起来不方便,推荐安装如下的工具库:

2021-01-07 16:51:04 717 1

原创 redis配置

Redis的配置redis.conf存放位置Redis的安装根目录下(/opt/redis-5.0.2),Redis在启动时会加载这个配置文件,在运行时按照配置进行工作。 这个文件有时候我们会拿出来,单独存放在某一个位置,启动的时候必须明确指定使用哪个配置文件,此文件才会生效。Redis 的网络相关配置bind:绑定IP地址,其它机器可以通过此IP访问Redis,默认绑定127.0.0.1,也可以修改为本机的IP地址。 port:配置Redis占用的端口,默认是6379 tc.

2021-01-01 23:04:20 4195

原创 Redis基础

Redis的特点 支持数据持久化:Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用 支持数据备份:Redis支持数据的备份,即master-slave模式的数据备份 支持多种数据结构:Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储 ...

2020-12-31 23:32:38 193

原创 Dubbo

RPC 基本原理调用方 client 要使用右侧 server 的功能(方法),发起对方法的调用 client stub 是 PRC 中定义的存根,看做是 client 的助手。stub 把要调用的方法参数进行序 列化,方法名称和其他数据包装起来 通过网络 socket(网络通信的技术),把方法调用的细节内容发送给右侧的 server server 端通过 socket 接收请求的方法名称,参数等数据,传给 stub server 端接到的数据由 serverstub(server 的助手

2020-12-31 13:23:00 231

原创 SpringMVC

1,第一个注解的 SpringMVC 程序注册中央调度器全限定性类名:该中央调度器为一个 Servlet,名称为 DispatcherServlet。中央调度器的全限定性类名在 导入的 Jar 文件 spring-webmvc-5.2.5.RELEASE.jar 的第一个包 org.springframework.web.servlet 下可找到。 <load-on-startup>:当值大于等于 0 时,表示容器在启动时就加载并初始化这个 servlet,数值越小,该 Serv

2020-12-29 01:05:41 218

原创 AOP

AspectJ 对 AOP 的实现对于 AOP 这种编程思想,很多框架都进行了实现。Spring 就是其中之一,可以完成面向 切面编程。然而,AspectJ 也实现了 AOP 的功能,且其实现方式更为简捷,使用更为方便, 而且还支持注解式开发。所以,Spring 又将 AspectJ 的对于 AOP 的实现也引入到了自己的框 架中。 在 Spring 中使用 AOP 开发时,一般使用 AspectJ 的实现方式。AspectJ 的通知类型(1)前置通知(2)后置通知(3)环绕通知(

2020-12-26 22:30:05 93

原创 IOC

1,容器接口和实现类ApplicationContext接口(容器):ApplicationContext用于加载Spring的配置文件,在程序中充当“容器”的角色。其实现类有两个。2,配置文件在类路径下若 Spring 配置文件存放在项目的类路径下,则使用 ClassPathXmlApplicationContext 实现 类进行加载。3,ApplicationContext 容器中对象的装配时机ApplicationContext 容器,会在容器对象初始化时,将其中的所有对象一

2020-12-26 20:37:59 173

原创 jQuery

1,DOM对象转jQuery对象2,jQuery对象转DOM对象3,选择器

2020-12-25 00:00:51 115 1

原创 AJAX

1,全局刷新必须由浏览器亲自向服务端发送请求协议包。 这个行为导致服务端直接将【响应包】发送到浏览器内存中 这个行为导致浏览器内存中原有内容被覆盖掉 这个行为导致浏览器在展示数据时候,只有响应数据可以展示2,局部刷新不能由浏览器发送请求给服务端 浏览器委托浏览器内存中一个脚本对象代替浏览器发送请求. 这个行为导致导致服务端直接将【响应包】发送脚本对象内存中 这个行为导致脚本对象内容被覆盖掉,但是此时浏览器内存中绝大部分内容没有收到任何影响. 这个行为导致浏览器在展示数据时候,

2020-12-24 00:10:54 66

原创 互联网通信图

2020-12-18 23:33:14 211 1

原创 Git

搜索开源项目in:name example 名字中有“example”in:readme example readme中有“example”in:description example 描述中有“example”stars:>1000 star>1000forks:>1000 fork>1000pushed:>2019-09-01 2019年9月1日后有更新的language:java 用Java编写的项目...

2020-12-18 22:22:48 58 1

原创 Servlet总结

1,IDEA配置tomcat服务器将tomcat服务器叫给idea管理并引入jar包设置tomcat开关2,网站结构约束

2020-12-18 18:03:23 173 1

原创 数组经典示例

旋转子数组import java.util.ArrayList;public class Solution { public int minNumberInRotateArray(int [] array) { if(array.length == 0){ return 0; } int left = 0; int right = array.length - 1; in

2020-12-15 14:09:18 298

原创 链表经典示例

链表反转/*** public class ListNode {* int val;* ListNode next = null;** ListNode(int val) {* this.val = val;* }* }**/import java.util.ArrayList;public class Solution { public ArrayList<Integer&

2020-12-15 02:01:10 286

原创 html精华

<!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>HTML</title> </head> <!-- bgcolor设置背景色 background 设置背景图片 --> <body <!-- bgcolor="darkgoldenrod" --> <!-- background="img/QQ截...

2020-12-13 01:19:50 93

原创 mybatis

笔记mybatis第一章 1. 三层架构 界面层: 和用户打交道的, 接收用户的请求参数, 显示处理结果的。(jsp ,html ,servlet) 业务逻辑层: 接收了界面层传递的数据,计算逻辑,调用数据库,获取数据 数据访问层: 就是访问数据库, 执行对数据的查询,修改,删除等等的。 三层对应的包 界面层: controller包 (servlet) 业务逻辑层: service 包(XXXService类)...

2020-12-11 16:52:38 161

原创 JDK动态代理

1 动态代理 动态代理是指代理类对象在程序运行时由 JVM 根据反射机制动态生成的。动态代理不需要定义代理类的.java 源文件。 动态代理其实就是 jdk 运行期间,动态创建 class 字节码并加载到 JVM。 动态代理的实现方式常用的有两种:使用 JDK 代理代理,与通过 CGLIB 动态代理。jdk 动态代理是基于 Java 的反射机制实现的。使用 jdk 中接口和类实现代理对象的动态创建。 Jdk 的动态要求目标对象必须实现接口,这是 java 设计上的要求。import jav.

2020-12-10 15:54:03 109

原创 静态代理

核心:使用代理类对目标类进行增强,代理类在程序运行前就已经定义好.java 源文件,其与目标类的关系在 程序运行前就已经确立。在程序运行前代理类已经编译为.class 文件。缺点:1,代理类和目标类实现了相同的接口,每个代理都需要实现目标类的方法,这样就出现了大量的代 码重复。如果接口增加一个方法,除了所有目标类需要实现这个方法外,所有代理类也需要实现 此方法。增加了代码维护的复杂度。 2,代理类只服务于一种类型的目标类,如果要服务多个类型。势必要为每一种目标类都进行代理, 静...

2020-12-10 14:59:46 141 1

原创 桥接模式

核心:将两个独立变化的维度分开,只让他们在各自的维度变化,实现了两个类的松耦合import javafx.scene.control.RadioButton;import sun.security.provider.SHA;import java.awt.image.ColorConvertOp;import java.sql.*;import java.util.ArrayList;public class Test{ public static void main

2020-12-10 14:16:24 54

原创 JDBC

import sun.security.provider.SHA;import java.sql.*;import java.util.ArrayList;public class Test{ public static void main(String[] args) { Connection conn = null; PreparedStatement ps = null; //ResultSet rs = null; ...

2020-12-10 13:55:45 52

原创 装饰器模式

核心:在原有类的基础是增加装饰类完成更加复杂的功能import sun.security.provider.SHA;import java.util.ArrayList;public class Test{ public static void main(String[] args) { Decorator decorator1 = new RedDecorator(new Circle()); Decorator decorator2 =

2020-12-09 16:19:03 46

原创 观察者模式

核心:当一个对象的状态发生变化后,这个对象所以依赖的所有对象都将接收到通知import java.util.ArrayList;public class Test{ public static void main(String[] args) { Star star = new Jay(); Fan liuXin = new LiuXin(); Fan luoYi = new LuoYi(); star.addFan

2020-12-09 16:13:59 47

原创 责任链模式

核心: 责任链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将整个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。我们可以把各位领导想象成一条链,从链的开头传递请求到尽头,直到业务逻辑处理完成。链上的每个节点都可以设置自己处理的指标范围,也可以设置下一任处理者节点。最显著的好处就是请求者不用知道到底是哪个对象处理的,反正提交请求就对了。同时链中的处理者并不知道整条链的结构,他们只需要保持一个指向下一任处理者对象的引用,这样非常大的降低了耦合...

2020-12-08 22:39:34 763

原创 模板模式

核心:子类重写父类特定的方法完成一套个性化配置class Parent{ public void step1(){ System.out.println("早上起床"); } public void step2(){ System.out.println("吃早饭"); } public void step3(){ System.out.println("跑步"); } public void.

2020-12-08 16:22:37 45

原创 单例模式

1,线程安全的懒汉模式(双重检验)class Singleton{ private static Singleton singleton; private Singleton(){} public Singleton create(){ if(singleton == null){ synchronized (Singleton.class) { if(singleton == null){

2020-12-08 14:55:13 44

原创 工厂模式

1,简单工厂模式核心:将产品抽象出来,使用工厂创建产品 (创建型模式,依赖倒置,开闭原则)public class Test { public static void main(String[] args) throws IOException { Factory factory = new Factory(); Clothes cls = factory.create("pants"); cls.s.

2020-12-08 14:27:32 105

原创 Java注解

1,预定义注解1.@Override : 注释能实现编译时检查,你可以为你的方法添加该注释,以声明该方法是用于覆盖父类中的方法。如果 该方法不是覆盖父类的方法,将会在编译时报错。例如我们为某类重写 toString() 方法却写成了 tostring() ,并且我们为该方法添加了@Override 注释,那么编译是无法通过的。2.@Deprecated :的作用是对不应该在使用的方法添加注释,当编程人员使用这些方法时,将会在编译时显示提示信息, 它与 javadoc 里的 @deprecated

2020-12-07 22:27:30 77

原创 java反射机制

1.读取配置文件常见方法public class Test { public static void main(String[] args) throws Exception { //获取properties的绝对路劲,一定要把配置文件放在类路径下面 String path = Thread.currentThread().getContextClassLoader() .getResource("classinfo.prope

2020-12-07 16:41:14 47

原创 java多线程基础

1.线程创建 1 继承 Thread 类 采用 Thread 类创建线程,用户只需要继承 Thread,覆盖 Thread 中的 run 方法,父类 Thread 中 的 run 方法没有抛出异常,那么子类也不能抛出异常,最后采用 start 启动线程即可 2 实现runnable接口 其实 Thread 对象本身就实现了 Runnable 接口,但一般建议直接使用 Runnable 接口来写多线程 程序,因为...

2020-12-06 22:53:29 70

原创 jvm调优以及并发编程初步

JVM内存模型JMM内存模型(java线程内存模型)JMM-同步八种操作介绍 (1)lock(锁定):作用于主内存的变量,把一个变量标记为一条线程独占状态 (2)unlock(解锁):作用于主内存的变量,把一个处于锁定状态的变量释放出来,释放后 的变量才可以被其他线程锁定 (3)read(读取):作用于主内存的变量,把一个变量值从主内存传输到线程的工作内存 中,以便随后的load动作使用 (4)load(载入):作用于工作内存的变量,它把read操作从主内存中得到的变

2020-12-06 15:56:34 94

原创 javaIO流

1,InputStream 和 OutputStream继承结构图2, Reader和Writer继承结构图3.FileInputStream and FileOutputStream (字节输入流) (抽象类)public class Test { public static void main(String[] args) { OutputStream os = null; InputStream is = null; ...

2020-12-04 23:25:39 137 1

原创 java集合

https://www.cnblogs.com/coderzjz/p/13587167.html

2020-12-04 16:57:38 61

原创 java异常

1,异常层次结构2,自定义受控异常import java.io.*;public class ExceptionTest19 { public static void main(String[] args) { try { method1(10, 0); }catch(MyException e) { System.out.println(e.getMessage()); } ...

2020-12-03 22:27:37 70

原创 正则表达式初步

1,常见正则表达式符号。. 匹配除过换行符意外的任何字符\w 匹配字母或数字或汉字或下划线\s 匹配任意的空白字符\d 匹配数字\b 匹配单词的开始或结束^ 匹配字符串的开始$ 匹配字符串的结束* 代表0次或者多次+ 代表1次或者多次? 代表0次或者1次{n} 代表重复n次{n,} 重复n次或者更...

2020-12-03 20:05:33 65

转载 uml类图

2020-12-02 14:28:44 67 2

原创 MySQL基础 + 34道练习 +Mysql高级 + sql优化

一,SQL分类简称:DQL,Data Query Language 代表关键字:select (数据库查询语言)简称:DML,Data Manipulation Language 代表关键字:insert、delete 、update(数据库操作语言)简称:DDL,Data Denifition Language 代表关键字:create、drop、alter(数据库定义语言)简称:TCL,Trasactional Control Language 代表关键字:commit、savepoint

2020-11-23 22:52:40 689

原创 Vscode配置Java运行环境

1,配置环境变量---这个就不说了2,https://www.cnblogs.com/bpf-1024/p/13375253.html

2020-10-27 03:36:20 844

原创 C++异步编程

std::async和std::future创建后台任务并返回值一,前言std::async是一个函数模板,用来启动一个异步任务,启动起来的异步任务会返回一个std::futured对象,这个对象里面有异步任务的返回结果。int func(){ std::this_thread::sleep_for(std::chrono::seconds(1)); return 0;}int main(){ std::future<int> result = s

2020-10-12 02:04:25 2044 1

原创 C++多线程

多线程一,线程状态· thread.join() -------------- 阻塞当前线程thread,直到thread执行完成; thread.detach() ----------使得当前线程脱离主线程的控制,该线程的资源由后台进程回收资源; thread.joinable() ---------- 判断线程是否可以join或者detach;二,线程创建写法 普通函数作为线程参数 可调用对象作为线程参数-----例...

2020-10-12 00:29:14 534

原创 C++11 chrono库

#include <iostream>#include <ctime>#include <ratio>#include <chrono>int main (){ // template <class num,class den> class ratio; std::ratio<1,3> one_third; std::ratio<2,4> two_fourths; s.

2020-10-01 23:16:56 94

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除