- 博客(16)
- 收藏
- 关注
原创 【踩坑】那些实战上的踩坑笔记汇总
1、【本地虚拟机】zookeeper not connected前提虚拟机Linux上的zk是正常启动,并且端口对外开放使用tcping进行远程端口访问显示正常连接出现的问题在本地进行分布式测试的时候,将注册中心地址与虚拟机zookeeper映射的ip端口绑定zookeeper://192.168.0.107:2181dubbo:# 应用名称 application: name: dubbo-provider# zookeeper注册中心地址 registry:
2021-07-19 15:30:36
117
原创 SpringMVC文件上传下载
1. 文件上传@Controllerpublic class UploadController { @RequestMapping("/upload") public String fileUpload(@RequestParam("file") CommonsMultipartFile file, HttpServletRequest request) { // 检测是否为多媒体上传 if (!
2020-05-26 14:10:48
144
原创 Mybatis入门
1. 导入MyBatis依赖<dependencies> <!--mybatis依赖包--> <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>3.5.3</version> </dependency>
2020-05-23 01:07:31
230
原创 Spring 框架两大核心机制之一AOP
1. 什么是AOP**AOP (Aspect Oriented Programming)**意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一 个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。...
2020-05-20 22:11:00
315
原创 静态代理和动态代理
静态代理设计模式要求: 真实角色,代理角色;真实角色和代理角色要实现同一个接口,代理角色要持有真实角色的引用(一般在代理角色有参构造器中引用真实对象)好处:代理对象可以做很多真实对象做不了的事情真实对象专注做自己的事情应用场景在Java中线程的设计就使用了静态代理设计模式,其中自定义线程类实现Runable接口,Thread类也实现了Runalbe接口,在创建子线程的时候,...
2020-05-20 02:35:26
175
原创 Spring 框架两大核心机制之一IoC
一、Spring 框架两大核心机制——IoC设计思想:IoC(控制反转)手段:DI(依赖注入)二、Spring-Bean依赖注入1、设计原则:依赖倒置原则1、高层模块不应该依赖底层模块,二者都应该依赖抽象。2、抽象不应该依赖细节,细节应该依赖抽象。3、依赖倒置的中心思想是面向接口编程。4、依赖倒置原则是基于这样的设计理念:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建的架构比以细节为基础搭建的架构要稳定的多。5、使用接口或抽象类的目的是指定好规范,而不涉及任何具体的操
2020-05-20 01:25:44
260
原创 Cookies和Session的认识
1. CookiesCookies是什么HTTP 协议中的 Cookie 包括 Web Cookie 和浏览器 Cookie,它是服务器发送到 Web 浏览器的一小块数据。服务器发送到浏览器的 Cookie,浏览器会进行存储,并与下一个请求一起发送到服务器。通常,它用于判断两个请求是否来自于同一个浏览器,例如用户保持登录状态。HTTP Cookie 机制是 HTTP 协议无状态的一种补充和改良识别返回用户包括三个步骤:服务器脚本向浏览器发送一组 Cookie。例如:姓名、年龄或识别号码等。
2020-05-15 17:20:45
120
原创 Servlet学习
1. Servlet 是什么?Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,可以收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。2. Servlet 生命周期Servlet生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程:Servlet 通过调用init ()方法进行初始化
2020-05-14 21:04:52
115
原创 在IDEA中使用Maven创建WEB应用
Maven配置本地仓库配置默认使用的jdk版本配置阿里云镜像配置<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTI
2020-05-14 11:57:27
271
原创 Java反射获取方法泛型信息以及注解信息
1. 通过反射获取泛型信息定义两个方法一个方法有泛型形参,没有返回值test01一个方法没有形参,有泛型返回值test02public void test01(Map<String, User> map, List<User> list) { System.out.println("test01");}public Map<String, User> test02() { System.out.println("test02");
2020-05-11 16:49:41
724
原创 Java 反射机制以及类加载过程的理解
1. Reflection1.1 定义Reflection (反射)是Java被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一一个Class对象),这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。这个对象就像一面镜子, 透过这个镜子看到类的结构,所以,我们形象的称之为:反射1.2 Java反射机制提供的功
2020-05-11 15:23:15
366
原创 Linux远程搭建服务器MySQL环境
一、安装环境操作系统:Centos7.7Mysql版本:5.7远程连接工具:Xshell6、Xftp6二、安装步骤1. 下载Linux系统的Mysql5.7安装包oracle官网下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads选择相对应的系统版本;本次的搭建环境是在Centos7的Linux系统上,故选择Red Hat(红帽子)公司出的Linux系统的Mysql版本选择格式为tar.zg的压缩包进行环境搭建my
2020-05-08 22:44:46
193
原创 Linux远程搭建服务器JDK1.8
一、安装环境操作系统:Centos7.7JDK版本:1.8远程连接工具:Xshell6、Xftp6二、安装步骤1. 下载Linux环境的JDK1.8安装包oracle官网链接:https://www.oracle.com/java/technologies/javase-jdk8-downloads.html下载两种安装包之一即可(本次选用tar.gz压缩包搭建服务器环境)注:x64代表64位,x86代表32位;根据Linux系统版本安装如果Linux本身连接到互联网,可以
2020-05-08 18:09:50
319
原创 多线程synchronized同步与锁的认识
推荐阅读:深入浅出Java多线程1. 锁与同步由于同一进程的多个线程共享同一块存储空间, 在带来方便的同时,也带来了访问冲突问题,为了保证数据在方法中被访问时的正确性,在访问时加入锁机制synchronized ,当一个线程获得对象的排它锁,独占资源,其他线程必须等待,使用后释放锁即可存在以下问题:一个线程持有锁会导致其他所有需要此锁的线程挂起;在多线程竞争下,加锁,释放锁会导致比较...
2020-05-06 22:04:31
151
原创 Java多线程入门
1. 多线程概念线程就是独立的执行路径;在程序运行时,即使没有自己创建线程,后台也会有多个线程,如主线程,gc线程;main()称之为主线程,为系统的入口,用于执行整个程序;在一个进程中,如果开辟了多个线程,线程的运行由调度器安排调度,调度器是与操作系统紧密相关的,先后顺序是不能人为的干预的。对同一份资源操作时,会存在资源抢夺的问题,需要加入并发控制;线程会带来额外的开销,如cpu调...
2020-05-06 15:19:05
90
原创 JavaSE基础语法进阶学习
1.数据类型1.1整数//整数的进制表示int i = 10; //十进制-->10int i1 = 010; //八进制0-->8int i2 = 0x10; //十六进制0x-->16int i3 = 0b10; //二进制0b-->21.2浮点数//浮点数——金钱的精确表示?float f = 0.1f; //0.1double ...
2020-05-02 14:49:43
126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人