自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一角残叶的博客

人生如逆旅,我亦是行人

  • 博客(1209)
  • 资源 (6)
  • 论坛 (1)
  • 收藏
  • 关注

原创 常用算法时间复杂度表

1 常用算法时间复杂度来源: http://www.bigocheatsheet.com/1.1 常用数据结构算法复杂度1.2 常用排序算法复杂度

2019-02-14 16:58:31 776

原创 Java Web整合开发实战-基于Struts 2+ Hibernate + Spring(10)- Struts中应用Ajax

1 Ajax

2021-01-15 15:37:05 6

原创 Java Web整合开发实战-基于Struts 2+ Hibernate + Spring(9)- Struts拦截器

1

2021-01-15 10:55:56 7

原创 Java Web整合开发实战-基于Struts 2+ Hibernate + Spring(8)- Struts标签库

1 struts标签概述2 struts标签的使用2.1 OGNL2.2 控制标签if/else标签append标签generator标签iterator标签merge标签2.3 struts数据标签

2021-01-14 19:18:51 10

原创 Java Web整合开发实战-基于Struts 2+ Hibernate + Spring(7)- Struts数据检验和国际化

1 类型转换1.1 案例-字符串转 ArrayListmodelActionpackage com.tzb.action;import java.util.List;import com.opensymphony.xwork2.ActionSupport;import com.tzb.model.User;public class ListAction extends ActionSupport { private static final long serialV

2021-01-14 16:56:26 7

原创 Java Web整合开发实战-基于Struts 2+ Hibernate + Spring(6)- Action类

1 Struts之Action类1.1 Action接口和ActionSupport基类1.2 案例 - 通过ActionContext类访问Servlet APIweb.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:s

2021-01-14 15:00:51 9

原创 Java Web整合开发实战-基于Struts 2+ Hibernate + Spring(5)- Struts核心配置文件

1 web.xml

2021-01-14 11:06:32 6

原创 Java Web整合开发实战-基于Struts 2+ Hibernate + Spring(4)- Struts 快速上手

1 MVC的基本概念2 Struts 工作原理2.1 Struts 2工作流程2.2 从Struts 2的角度理解MVC3 Struts环境准备3.1 Eclipse配置Tomcat3.2 部署Struts 23.2.1 下载安装包https://struts.apache.org/download.cgi#struts25263.2.2 新建工程复制 struts 2 lib里的jar包到工程3.2.3 配置文件 web.xml<?xml ve

2021-01-13 19:27:51 14

原创 Java Web整合开发实战-基于Struts 2+ Hibernate + Spring(3)- JavaBean、Servlet

1 JavaBean2 Servlet2.1 Servlet生命周期2.2 Servlet的常用类和接口package test;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;import javax.servlet.http.HttpServlet;i

2021-01-13 16:12:30 10

原创 Java Web整合开发实战-基于Struts 2+ Hibernate + Spring(2)- JSP相关技术

1 JSP的使用Java Server Pages1.1 技术特点1.2 JSP运行机制1.3 JSP基本语法1.3.1 jsp注释1.3.2 jsp指令1.3.2.1 page指令1.3.2.2 include指令1.3.2.3 taglib指令1.3.3 jsp脚本元素1.3.3.1 jsp声明语句1.3.3.2 jsp表达式1.3.3.3 jsp Scriptlet1.3.4 jsp动作元素1.3.4.1 <jsp:include

2021-01-13 15:42:57 15

原创 Java Web整合开发实战-基于Struts 2+ Hibernate + Spring(1)- Eclipse测试Java Web程序

1 Eclipse配置tomcat2 Eclipse测试Java Web程序2.1 新建项目2.2 创建 jsp 文件<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.or

2021-01-13 14:12:47 11

原创 SpringCloud 微服务架构(27)- Spring Cloud GateWay(3)- 网关限流

1 Spring Cloud GateWay1.1 网关限流1.1.1 常见的限流算法计数器计数器限流算法是最简单的一种限流实现方式。其本质是通过维护一个单位时间内的计数器,每次请求计数器加1,当单位时间内计数器累加到大于设定的阈值,则之后的请求都被拒绝,直到单位时间已经过去,再将计数器重置为零漏桶算法漏桶算法可以很好地限制容量池的大小,从而防止流量暴增。漏桶可以看作是一个带有常量服务时间的单服务器队列,如果漏桶(包缓存)溢出,那么数据包会被丢弃。 在网络中,漏桶算法可以控制端口的流

2021-01-12 10:57:18 12

原创 SpringCloud 微服务架构(26)- Spring Cloud GateWay(2)- 过滤器

1 Spring Cloud GateWay1.1 过滤器Spring Cloud Gateway除了具备请求路由功能之外,也支持对请求的过滤。通过Zuul网关类似,也是通过过滤器的形式来实现的。1.1.1 过滤器的生命周期Spring Cloud Gateway 的 Filter 的生命周期不像 Zuul 的那么丰富,它只有两个:“pre” 和 “post”。PRE: 这种过滤器在请求被路由之前调用。我们可利用这种过滤器实现身份验证、在集群中选择请求的微服务、记录调试信息等。POST:这种过

2021-01-11 16:47:55 15

原创 SpringCloud 微服务架构(25)- Spring Cloud GateWay(1)

1 Zuul网关存在的问题性能问题Zuul1x版本本质上就是一个同步Servlet,采用多线程阻塞模型进行请求转发。简单讲,每来一个请求,Servlet容器要为该请求分配一个线程专门负责处理这个请求,直到响应返回客户端这个线程才会被释放返回容器线程池。如果后台服务调用比较耗时,那么这个线程就会被阻塞,阻塞期间线程资源被占用,不能干其它事情。我们知道Servlet容器线程池的大小是有限制的,当前端请求量大,而后台慢服务比较多时,很容易耗尽容器线程池内的线程,造成容器无法接受新的请求。不支持任何长连接,

2021-01-11 15:51:30 10

原创 Java高并发之魂-synchronized深度解析 学习笔记(3)- 多线程访问同步方法的7种情况(面试)

1 两个线程同时访问一个对象的同步方法synchronized 起作用2 两个线程访问的是两个对象的同步方法synchronized 不起作用3 两个线程访问的是 synchronized 的静态方法synchronized 起作用4 同时访问同步方法和非同步方法synchronized 不会影响其他方法,即非同步方法不受影响/** * @Description 同步方法和非同步方法 * @Author tzb * @Date 2021/1/8 15:52 * @Ve

2021-01-08 18:44:42 30

原创 Java高并发之魂-synchronized深度解析 学习笔记(2)- 消失的请求

1 a++ 问题/** * @Description a++在多线程的问题 * @Author tzb * @Date 2021/1/8 15:13 * @Version 1.0 **/public class DisappearRequest1 implements Runnable { static DisappearRequest1 instance = new DisappearRequest1(); static int i = 0; @Overrid

2021-01-08 15:39:42 17

原创 Java高并发之魂-synchronized深度解析 学习笔记(1)- 对象锁和类锁

1 Synchronized1.1 作用一句话概括:能够保证 同一时刻 最多只有 一个 线程执行该段代码,以达到保证并发安全的效果。1.1 不使用并发手段的后果

2021-01-08 15:07:59 34 3

原创 深入浅出Java并发多线程(7)- 线程的一生(6个状态)

1 每个状态的含义

2020-12-10 22:17:59 29

原创 深入浅出Java并发多线程(6)- 线程停止、中断(3)

1 停止线程相关的重要函数Thread.interrupted()的方法的目标对象是”当前线程“,而不管方法来自于哪个对象1.1 如何分析 native 方法https://github.com/openjdk-mirror/jdk7u-jdkhttps://github.com/openjdk-mirror/jdk7u-hotspot2 停止线程-常见面试题请求方,发出请求信号;被请求方必须在每次循环中或者适当的时候检查这个中断信号,并且在可能抛出 inter

2020-12-08 22:57:33 24

原创 深入浅出Java并发多线程(5)- 线程停止、中断(2)

1 停止线程的错误方法/** * @Description 错误的停止方法 * 会导致线程运行一半,突然停止,没办法完成一个基本单位的操作(一个连队), * 会造成脏数据(有的连队多领有的少领准备) * @Author tzb * @Date 2020/12/7 22:45 * @Version 1.0 **/public class StopThread implements Runnable { @Override public void run() {

2020-12-08 22:17:19 19

原创 深入浅出Java并发多线程(4)- 线程停止、中断(1)

1 正确停止线程原理:使用 interrupt 来通知,而不是强制1.1 线程停止的情况run 方法执行完毕;有异常出现,且方法中没有捕获;1.2 正确的停止方法interrupt1. 通常线程会在什么情况下停止普通情况;/** * @Description run 方法内没有 sleep 或者 wait方法时,停止线程 * @Author tzb * @Date 2020/12/3 16:40 * @Version 1.0 **/public class RightWayS

2020-12-07 22:38:46 26

原创 深入浅出Java并发多线程(3)- 启动线程的正确和错误方式

1 启动线程的方法package threadcoreknowledge.startthread;/** * @Description 两种启动线程的方法 * @Author tzb * @Date 2020/11/29 17:18 * @Version 1.0 **/public class StartAndRunMethod { public static void main(String[] args) { Runnable runnable = ()-&g

2020-12-03 16:22:23 61

原创 JDK8新特性(5)—— 方法引用

1 方法引用在使用 lambda 表达式的时候,实际上传递进去的代码就是一种解决方案:用什么参数做什么操作。考虑一种情况:在lambda 表达式中所指定的操作方案,已经有地方存在相同的方案,是否有必要再写重复的逻辑?package com.tzb.methodrefer.demo01;@FunctionalInterfacepublic interface Printable { public abstract void print(String s);}public clas

2020-12-03 09:14:27 77

原创 JDK8新特性(4)—— stream 流

1 对集合元素进行过滤public class Demo01Stream { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("赵子龙"); list.add("曹孟德"); list.add("金毛狮王"); list.add("令狐飞雪"); l

2020-12-02 08:39:34 135

原创 JDK8新特性(3)—— 常用函数式接口

JDK提供大量函数式接口,在 java.util.function1 Supplier 接口生产型接口,指定接口的泛型是什么类型,那么接口中的 get 方法就会生产什么类型的数据package com.tzb.funinterface.demo04;import java.util.function.Supplier;/** * @Description TODO * @Author tzb * @Date 2020/12/1 9:36 * @Version 1.0 **/pu

2020-12-01 15:00:53 96

原创 JDK8新特性(2)—— 函数式编程

1 函数式编程有些场景的代码执行之后,结果不一定被使用,从而造成性能的浪费。而 lambda 表达式是延迟执行的1.1 性能浪费的日志案例第二个参数是一个拼public class Demo01Logger { // 根据日志的级别显示日志信息的方法 public static void showLog(int level, String msg) { // 对日志的等级进行判断,如果1,输出 if (level == 1) {

2020-12-01 09:26:31 116 4

原创 JDK8新特性(1)—— 函数式接口

1 函数式接口有且仅有一个抽象方法的接口格式修饰符 interface 接口名称{ public abstract 返回值类型 方法名称(可选参数信息); // 其他非抽象方法内容}由于接口中的 public abstract 是可以省略的,所以函数式接口可以定义为public interface MyInterface{ void myMethod();}/** * @FunctionalInterface 检测接口是否为函数式接口 * 是:编译成功 */@Fu

2020-11-30 19:49:03 93

原创 深入浅出Java并发多线程(2)- 实现线程方式

1 实现多线程的方法有几种2种public class RunnableStyle implements Runnable { public static void main(String[] args) { Thread thread = new Thread(new RunnableStyle()); thread.start(); } @Override public void run() { System

2020-11-29 17:15:41 118

原创 深入浅出Java并发多线程(1)- 概述

1 线程的八大核心基础知识

2020-11-25 22:32:16 59

原创 SpringCloud 微服务架构(24)- zuul过滤

1 过滤器Zuul它包含了两个核心功能:对请求的路由和过滤。其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础;而过滤器功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合等功能的基础。其实,路由功能在真正运行时,它的路由映射和请求转发同样也由几个不同的过滤器完成的。所以,过滤器可以说是Zuul实现API网关功能最为核心的部件,每一个进入Zuul的HTTP请求都会经过一系列的过滤器处理链得到请求响应并返回给客户端。1.1 ZuulFilter简介Zuul 中的过

2020-11-25 21:07:46 58

原创 SpringCloud 微服务架构(23)- 面向服务的路由配置

1 面向服务的路由配置微服务一般是由几十、上百个服务组成,对于一个URL请求,最终会确认一个服务实例进行处理。如果对每个服务实例手动指定一个唯一访问地址,然后根据URL去手动实现请求匹配,这样做显然就不合理。Zuul支持与Eureka整合开发,根据ServiceID自动的从注册中心中获取服务地址并转发请求,这样做的好处不仅可以通过单个端点来访问应用的所有服务,而且在添加或移除服务实例的时候不用修改Zuul的路由配置。添加Eureka客户端依赖(zuul工程)<dependencies&gt

2020-11-22 12:38:23 80

原创 SpringCloud 微服务架构(22)- 网关

1 回顾2 网关不同的微服务一般会有不同的网络地址,客户端在访问这些微服务时必须记住几十甚至几百个地址,这对于客户端方来说太复杂也难以维护。如果让客户端直接与各个微服务通讯,可能会有很多问题:客户端会请求多个不同的服务,需要维护不同的请求地址,增加开发难度在某些场景下存在跨域请求的问题加大身份认证的难度,每个微服务需要独立认证因此,我们需要一个微服务网关,介于客户端与服务器之间的中间层,所有的外部请求都会先经过微服务网关。客户端只需要与网关交互,只知道一个网关地址即可,这样简化了开

2020-11-22 11:34:59 113 2

原创 再学JavaScript ES(6-10)全版本语法大全(8)- 异步操作 Promise

1 回调异步加载 jsjs 是单线程的异步操作与回调的关系1.1 ES62 then 异步操作3 Resolve 和 Reject 异步操作

2020-11-16 23:04:26 62

原创 再学JavaScript ES(6-10)全版本语法大全(7)- ES6箭头函数

1 箭头函数返回值是表达式// 箭头后面是一个表达式let sum = (x, y, z) => x + y + zconsole.log(sum(1,2,3))返回值是对象// 箭头后面是一个表达式let sum = (x, y, z) => ({ x: x, y: y, z: z,})console.log(sum)(1, 2, 3)this2 Object PropertyES5ES6

2020-11-16 21:42:46 35

原创 再学JavaScript ES(6-10)全版本语法大全(6)- 函数参数的默认值

1 函数参数默认值1.1 ES5function f(x, y, z) { if (y === undefined) { y =1000 } if (z === undefined) { z =100 } return x + y + z}console.log(f(1))1.6 ES6// 指定默认值function f(x, y = 10, z = 100) { return x + y + z}

2020-11-16 21:07:48 84

原创 再学JavaScript ES(6-10)全版本语法大全(5)- Class 基础

1 Class1.1 ES5 声明一个类let Animal = function (type) { this.type = type this.eat = function(){}}let dog = new Animal("dog")let monkey = new Animal('monkey')console.log(dog)console.log(monkey)let Animal = function (type) { this.type

2020-11-15 16:56:21 89

原创 再学JavaScript ES(6-10)全版本语法大全(4)- 伪数组转换为数组

1 伪数组转换为数组伪数组:这个对象按照索引存储数据它具备一个 length 属性1.1 ES5let args = [].slice.call(arguments) // 集合// 将当前页面的所有图片转换为数组let imgs = [].slice.call(document.querySelectorAll('img')) // nodelist1.2 ES6let args = Array.from(arguments)let imgs = Array.from(doc

2020-11-14 17:19:52 107

原创 再学JavaScript ES(6-10)全版本语法大全(3)- 数组的遍历

1 数组遍历1.2 ES5 数组遍历方法1const arr = [1, 2, 3, 4, 5, 6]for (let i = 0; i < arr.length; i++){ console.log(arr[i])}方法2const arr = [1, 2, 3, 4, 5, 6]arr.forEach(function (item) { console.log(item)})for 和 foreach的区别for (let i = 0; i &

2020-11-14 13:01:00 94

原创 再学JavaScript ES(6-10)全版本语法大全(2)- 作用域

1 作用域常见的作用域主要分为几个类型:全局作用域、函数作用域、块状作用域、动态作用域。2.1 练习12.2 全局变量

2020-11-13 23:49:13 96

原创 再学JavaScript ES(6-10)全版本语法大全(1)

1 javascript2 开发环境安装 node js项目初始化npx es10-cli create es2019 或者 git clone https://github.com/cucygh/es-cli.git 项目名

2020-11-12 22:19:52 81

针对Android的Java基础学习

针对Android的Java基础学习,介绍了关于JAVA的基础知识和各种语法。

2014-06-29

Eclipse从入门到精通

Eclipse从入门到精通,详细介绍了Eclipse的基本操作。

2014-06-29

mfc编程基础

还在为mfc 而发愁吗? 本书带你走进mfc 的世界,领略C++编程的魅力,学习mfc 编程基础的知识。

2013-12-08

matlab信号处理

matlab信号处理,方便新手对matlab的入门和学习,不过对大家的英文水平有一定的要求。

2013-12-08

Python算法(英文)

Python版数据结构

2017-05-14

Python入门书籍

Python编程

2017-05-14

一角残叶的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

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

TA关注的人 TA的粉丝

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