- 博客(33)
- 资源 (1)
- 收藏
- 关注
原创 HTTP协议
一、HTTP协议的概述 HTTP协议,即超文本传输协议(HyperText Trans Protocol). HTTP协议是一个应用层协议,由请求和响应构成,是一个标准的客户端服务器模型。HTTP协议是一个无状态的协议 HTTP通常承载于TCP协议之上,有时也承载于TLS或SSL协议层之上,这个时候就成了我们常说的HTTPPS。默认HTTP端口为 80。HTTPS的端...
2018-08-20 10:06:46
725
原创 springcloud(三)之Zuul(API网关)
一、Zuul(API网关)spring cloud 的结构:1、请求统一通过API网关(Zuul)来访问内部服务.2、网关接收到请求后,从注册中心(Eureka)获取可用服务3、由Ribbon进行均衡负载后,分发到后端具体实例4、微服务之间通过Feign进行通信处理业务5、Hystrix负责处理服务超时熔断6、Turbine监控服务间的调用和熔断相关指标Zuul的作用就是 :拦截所有请求1.1 新...
2018-06-07 18:13:30
250
原创 springcloud(二)之Eureka
一、Eureka注册中心的搭建1.1 新建一个 maven工程1.2 引入pom依赖<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4....
2018-06-06 17:55:33
232
原创 springcloud(一)之springcloud入门了解
springcloud组件和概念1.1 微服务 微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务。这些小的Web服务可以独立地编译及部署,并通过各自暴露的API接口相互通讯。它们彼此相互协作,作为一个整体为用户提供功能,却可以独立地进行扩展。微服务架构使用场景1):我们把整个系统根据业务拆分成几个子系统。2):每个...
2018-06-06 16:51:53
193
原创 SSM前言(五)之日志
一、Log4j与Log4j2一个完整的软件,日志是必不可少的。程序从开发、测试、维护、运行等环节,都需要向控制台或文件等位置输出大量信息。这些信息的输出,在很多时候是使用System.out.println()无法完成的。日志信息根据用途与记录内容的不同,分为调试日志、运行日志、异常日志等。用于日志记录的技术很多,如jdk的logger技术,apache的log4j、log4j2技术等。Log4j...
2018-05-29 22:29:53
223
原创 SSM前言(五)之模板方法设计模式
一、模板方法设计模式在现实生活中,完成某件事情是需要n多个固定步骤的。如“在淘宝网进行购物”这件事情的完成一般需要三个步骤:登录网站、挑选商品、付款。但对于登录网站与付款这两步,每个人几乎都是相同的操作。但不同的地方是,每个人所挑选的商品是不同的。在软件开发过程中同样存在这样的情况。某类的某个方法的实现,需要几个固定步骤。在这些固定步骤中,对于该类的不同对象,有些步骤的实现是固定不变的,有些步骤的...
2018-05-29 00:37:30
342
原创 SSM前言(四)之适配器模式
一、适配器模式 适配器模式的定义是,Convert the interface of a class into another interface clients expect,将某个类的接口转换为接口客户所需的类型。换句话说,适配器模式解决的问题是,使得原本由于接口不兼容而不能一起工作、不能统一管理的那些类可以在一起工作、可以进行统一管理。 这样解释适配器的概念还是很抽象。下面以不同...
2018-05-28 23:50:59
292
原创 SSM前言(三)之代理模式
一、代理模式 代理模式是指,为其他对象提供一种代理以控制对整个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户类和目标类之间起到中介的作用。 换句话说,使用代理对象是为了在不修改目标对象的基础上增强主业务逻辑。客户类真正想要访问的对象是目标对象,但客户类真正可以访问的对象是代理对象。客户类对目标对象的访问都是通过访问代理对象来实现的。当然,代理类...
2018-05-27 09:58:44
770
原创 SSM前言(一)之系统架构
一、系统架构 所谓系统架构是指整个应用系统程序大的结构,经常提到的系统结构有两种:三层架构与MVC.这两种结构机区别,又有联系。但是这两种架构的使用都是为了降低系统模块的耦合度。1.1 三层架构 三层架构是指:视图层View,服务层Service,与持久层DAO。他们分别完成不同的功能。 View层:用于接收用户 提交请求的代码 Serview层:系统的业务逻辑 DA...
2018-05-26 15:55:04
707
原创 mysql学习之34道经典面试题
一、准备需要的表和数据1.1 创建员工表以及插入数据员工表建表语句DROP TABLE IF EXISTS `emp`;CREATE TABLE `emp` ( `EMPNO` int(4) NOT NULL COMMENT '员工编号', `ENAME` varchar(10) DEFAULT NULL COMMENT '员工姓名', `JOB` varchar(9) DEFAUL...
2018-05-25 01:03:51
1472
原创 springboot(三)springboot整合thymeleaf
一、springboot整合thymeleaf1.1 新建maven项目导入依赖 <!-- spring boot starter-thymeleaf thymeleaf模板依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId&...
2018-05-21 21:21:35
124
原创 SpringBoot(二)--springboot案例
一 、Hello案例1.1 创建maven项目上一节,我已经学会了手动创建springboot项目。接下来我们用官方的方式来创建打开 https://start.spring.io/ 填好红色部分内容,选择需要的粉红色部分内容,点击绿色箭头下载生成的,解压后导入到工作空间。pom文件的依赖<project xmlns="http://maven.apache.org/POM/4.0.0" x...
2018-05-20 11:54:50
243
原创 Springboot(一)------springboot入门
一、springboot简介1.1springboot介绍springboot的目的在于创建和启动新的基于spring框架的项目。springboot会选择最适合spring子项目和第三方开源库进行整合。大部分springboot应用只需要非常少的配置就可以快速运行起来。springboot是伴随spring4诞生的,它提供了一种快速使用spring的方式。1.2 spring特点(1)为基于sp...
2018-05-19 20:57:31
514
1
原创 多线程编程(七)-----ThreadGroup线程组
一、线程组概述线程组ThreadGroup表示一组线程的集合,一旦一个线程归属到一个线程组之中后,就不能再更换其所在的线程组。Java使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制。线程组的作用:方便统一管理,线程组可以进行复制,快速定位到一个线程,统一进行异常设置等。ThreadGroup它其实并不属于Java并发包中的内容,它是jav...
2018-05-04 13:38:23
395
原创 多线程编程(六)---线程间通信与协作
一、线程间通信概念线程是操作 系统中独立的个体,这些个体如果不经过特殊的处理就不能成为一个整体,线程间的 通信就成为整体的必用方式之一。系统要实现某个全局功能必定要需要各个子模块之间的协调和配合,就像一个团队要完成某项任务的时候需要团队各个成员之间密切配合一样。而对于系统中的各个子线程来说,如果要完成一个系统功能,同样需要各个线程的配合,这样就少不了线程之间的通信与协作。当线程存在通信指挥,系统间...
2018-04-29 13:09:37
161
原创 多线程编程()--Juc锁框架之ReentrantLock
一、ReentrantLock概述。1.1 含义概述ReentrantLock一个可重入的互斥锁,又被称为“独占锁”,它具有与使用 synchronized 方法和语句所访问的隐式监视器锁相同的一些基本行为和语义,但功能更强大。ReentrantLock将由最近成功获得锁,并且还没有释放该锁的线程所拥有。当锁没有被另一个线程所拥有时,调用Lock的线程将成功获取该锁并返回。如果当前线程已经拥有该锁...
2018-04-28 22:10:16
190
原创 多线程编程()--Juc锁框架之概述
一、锁的简述。根据锁的添加到Java中的时间,Java中的锁,可以分为"同步锁"和JUC包中的锁。1.1 同步锁 同步锁即通过synchronized关键字来进行同步,实现对竞争资源的互斥访问的锁。Java 1.0版本中就已经支持同步锁了。 同步锁的原理是,对于每一个对象,有且仅有一个同步锁;不同的线程能共同访问该同步锁。但是,在同一个时间点,该同步锁能且只能被一个线程获取到。这样,...
2018-04-22 12:32:45
236
原创 多线程编程(五)---synchronized关键字
一、synchronized原理在Java中每一个对象有且仅有一个同步锁,就是说同步锁是依赖对象存在的。当我们调用某个对象的同步方法时,就获取了该对象的同步锁。不同线程对同步锁的访问是互斥的。也就是说某个时间点,对象的同步锁只能被一个线程获取到。通过同步锁,我们就能在多线程中实现对对象或方法的互斥访问。譬如现在有两个线程窗口1和窗口2,它们都会访问对象obj的同步锁、。假如,在同一时刻窗口1获取到...
2018-04-22 10:30:00
144
原创 多线程编程(四)--多线程练习
一、多线程练习某电影院正在上映贺岁大片,共有100张票,而它有三个售票窗口售票,请设计一个程序模拟该电影院售票。提示:两种方法实现(1)继承Thread 类 (2)实现Runnable接口(1)继承Thread 类package cn.itcast_06;public class SellTicketThread extends Thread{ // 定义100张票 //int ticke...
2018-04-19 23:27:06
339
原创 多线程编程(三)--Thread常用方法以及ThreadLocal
一、Thread常用方法在多线程编程中,thread类是很常用的。接下来就来学习一些常用的方法。1)获取线程对象的名称和设置线程对象的名称public final String getName():获取线程的名称。public final void setName(String name):设置线程的名称 * 针对不是Thread类的子类中如何获取线程对象名称呢? * public static ...
2018-04-16 20:47:54
1009
原创 多线程编程(二)-----多线程的实现
一、多线程的实现方式 由于线程是依赖进程而存在的,我们首先应该创建一个进程出来。而进程是由系统创建的,所以我们应该去调用系统功能创建一个进程。Java是不能直接调用系统功能的,多以我呢吧没有办法直接实现多线程程序。但是java 可以去调用C/C++写好的程序来实现多线程程序,由CC++去调用系统功能创建进程,然后由Java去调用这样的东西,然后提供一些类或接口给我们使用,我们...
2018-04-14 15:59:42
317
原创 多线程编程(一)------多线程概念
一、进程 要想了解多线程,必须先了解线程,而要想了解线程,必须先了解进程,因为线程是依赖于进程而存在。 1.1 进程 打开任务管理器我们就看到了进程的存在。而通过观察,我们发现只有运行的程序才会出现进程。进程:就是正在运行的程序。进程是系统进行资源分配和调用的独立单位。每一个进程都有它自己的内存空间和系统资源。即每个进程之间是独立的,每个进程均运行在其专用的且受保护的内存...
2018-04-12 09:19:21
135
原创 集合框架(五)---hashMap
简述:HashMap也是我们使用非常多的Collection,它是基于哈希表的 Map 接口的实现,以key-value的形式存在。在HashMap中,key-value总是会当做一个整体来处理,系统会根据hash算法来来计算key-value的存储位置,我们总是可以通过key快速地存、取value。源码如下:package java.util;import java.io.IOExcepti...
2018-04-11 19:32:00
352
1
原创 集合框架(四)----Map
一、Map集合概述前面,我们已经系统的对List进行了学习。接下来,我们先学习Map,然后再学习Set;因为Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的)。如上图所示:1)map是映射接口,map中存的内容是键值对(即key--value).2)AbstractMap是继承于Map的抽象类,实现了Map中的大部分API...
2018-04-11 13:23:30
183
集合框架(三)-----List
一、List接口概述1)有序的集合(也成为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确的控制。用户可以根据元素的整数索引访问元素,并搜索列表中的元素2)与set不同,List列表通常允许重复的元素。...
2018-03-17 23:05:58
98
原创 集合框架(二)---集合的遍历之迭代器
一、集合遍历集合的遍历其实就是获取集合中的每一个元素。主要有两种方式:1)把集合转化成对象数组,对对象数组进行遍历,获取每个对象。 2)通过Iterator来实现package cn.itcast_01;import java.util.ArrayList;import java.util.Collection;import java.u...
2018-03-17 22:03:58
422
原创 集合框架(一)-------Collection
一、集合的由来 * 集合的由来: * 我们学习的是面向兑现语言。而面向对象语言对事物的描述又是通过对象体现的。 * 为了方便对多个对象进行操作,我们必须把这个对象进行存储。 * 而要存储多个对象就不能是一个基本的变量,而应该是一个容器类型的变量。 * 在我们以前所学的知识里,有哪些是容器类型的呢?数组和StringBuffer * 但是stringbuffer的结果是...
2018-03-17 16:17:27
139
原创 集合类中自定义对象排序方法
1. 对象通过实现Comparable接口,来对集合中的自定义对象排序方法一:将要排序的对象类实现Comparable<>接口。package cn.mianshi.Collection.arraylist;public class Student_01 implements Comparable<Student_01>{ private String name;...
2018-03-16 18:12:41
320
原创 Java中常见算法总结
排序java排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。下面讲的排序都是属于内排序。内排序有可以分为以下几类: (1)、插入排序:直接插入排序、二分法插入排序、希尔排序。 (2)、选择排序:简单选择排序、堆排序。 (3)、交换排序:冒泡排序、快速排序。
2017-12-09 22:46:29
683
原创 2017 Java面试知识
1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?可以有多个类,但只能有一个public的类,并且public的类名必须与文件名相一致。2、Java有没有goto?java中的保留字,现在没有在java中使用。3、说说&和&&的区别。&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结
2017-12-09 16:55:34
209
原创 MyBatis入门(一)
MyBatis入门mybatis 下载mybaits的代码由github.com管理,地址:https://github.com/mybatis/mybatis-3/releases。下载的是mybatis-3.4.5,其目录结构为:
2017-10-02 10:09:47
217
原创 string 、 stringbuffer以及 stringbuilder的区别
String:字符串常量StringBuffer:字符串变量StringBuilder:字符串变量1.可变与不可变 String类中使用字符数组保存字符串, private final char value[]; 所以String在修改时不会改变对象自身在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对...
2017-07-19 20:55:52
367
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人