04 2020 档案
摘要:Linux命令基本格式及目录处理命令 命令提示符 [root@localhost ~]# root:当前登录用户localhost:主机名~:当前所在的目录,此处为“家”目录#:root超级用户的提示符,如果是普通用户,则为 $ 命令格式 命令 [选项] [参数] 中括号 [] 表示可选 查询目录中
阅读全文
摘要:一级缓存MyBatis 默认开启了一级缓存,一级缓存是在SqlSession 层面进行缓存的。即,同一个SqlSession ,多次调用同一个Mapper和同一个方法的同一个参数,只会进行一次数据库查询,然后把数据缓存到缓冲中,以后直接先从缓存中取出数据,不会直接去查数据库。 但是不同的SqlSe
阅读全文
摘要:前言:在mybatis的使用中,我们会习惯采用XXMapper.java+XXMapper.xml(两个文件的名字必须保持一致)的模式来开发dao层,那么问题来了,在XXMapper的文件里只有接口,里面只有方法体,在XXMapper.xml的文件里,里面只有sql,而在java中,方法调用必须通过
阅读全文
摘要:设计模式分为三种类型,共23种: 创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式 结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式 行为型模式:模板方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式
阅读全文
摘要:一、安装相关命令1.查看内核版本uname -r2.更新yumyum -y update3.安装docker(以下为社区版本)yum install docker-ce4.指定docker版本安装(指定社区版本)yum install docker-ce-18.031.ce5.安装dokcer不互动
阅读全文
摘要:SpringApplication对象实例的创建过程,本篇文章继续看run方法的执行逻辑吧 123456789101112131415 public ConfigurableApplicationContext run(String... args) { StopWatch stopWatch =
阅读全文
摘要:Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作,为不同的大象构建不同的冰箱。Redis常用数据类型Redis最为常用的数据类型主要有以下五种:StringHashList
阅读全文
摘要:1 问题引入在双11,春节订票,等大型节假日,广大用户通过手机,电脑等终端设备访问网站服务器时,如果服务器性能不好,不能支持大规模并发链接访问的话,服务器很可能出现访问速度慢,或者服务器当机的严重问题。这时就需要一种能够支持大规模并发链接访问的服务器,且消耗低,运行非常稳定的服务器。 2 什么是Ng
阅读全文
摘要:1 问题引入 在一遍大型的文本文件中,如果我想要找到某个单词的话,除了一行行看人工查找,那还有没有一种更方便,更高效的技术能帮我们实现呢?2 什么是Lucene Lucene是一个成熟、免费、开放源代码的全文检索引擎工具包。它提供了一套简单易用的API,方便在目标系统中实现全文检索功能。 3 全文检
阅读全文
摘要:【上海校区】使用SpingBoot快速构建工程入门 一、SpingBoot的概述 Build Anything with Spring Boot:Spring Boot is the starting point for building all Spring-based applications.
阅读全文
摘要:我们分析了下面这个run方法的前半部分,本篇文章继续开工 public ConfigurableApplicationContext run(String... args) { //。。。 //接上文继续 configureIgnoreBeanInfo(environment); Banner pr
阅读全文
摘要:Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作,为不同的大象构建不同的冰箱。Redis常用数据类型Redis最为常用的数据类型主要有以下五种:StringHashList
阅读全文
摘要:1 问题引入在双11,春节订票,等大型节假日,广大用户通过手机,电脑等终端设备访问网站服务器时,如果服务器性能不好,不能支持大规模并发链接访问的话,服务器很可能出现访问速度慢,或者服务器当机的严重问题。这时就需要一种能够支持大规模并发链接访问的服务器,且消耗低,运行非常稳定的服务器。 2 什么是Ng
阅读全文
摘要:1 问题引入 在一遍大型的文本文件中,如果我想要找到某个单词的话,除了一行行看人工查找,那还有没有一种更方便,更高效的技术能帮我们实现呢?2 什么是Lucene Lucene是一个成熟、免费、开放源代码的全文检索引擎工具包。它提供了一套简单易用的API,方便在目标系统中实现全文检索功能。 3 全文检
阅读全文
摘要:一、SpingBoot的概述 Build Anything with Spring Boot:Spring Boot is the starting point for building all Spring-based applications. Spring Boot is designed t
阅读全文
摘要:Docker 安装 MySQL方法一、docker pull mysql 查找Docker Hub上的mysql镜像 [Bash shell] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 runoob@runoob:/mysql$ docker
阅读全文
摘要:一、JSON的概述 我们做项目,通常会使用前后端分离的ajax交互,那么前后端交互的数据格式通常是json格式。这里既有牵扯到json和对象集合之间的转换,目前市面上的json转换主要有三种: Jackson转换 FastJson转换 Gson转换 下面将会对这三种转换进行简单的入门演示: 二、准备
阅读全文
摘要:[size=2.1em] Docker 安装 Redis 方法一、docker pull redis:3.2 查找Docker Hub上的redis镜像 [Bash shell] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 runoo
阅读全文
摘要:1.实现多线程1.1进程和线程【理解】- 进程:是正在运行的程序 是系统进行资源分配和调用的独立单位 每一个进程都有它自己的内存空间和系统资源- 线程:是进程中的单个顺序控制流,是一条执行路径 单线程:一个进程如果只有一条执行路径,则称为单线程程序 多线程:一个进程如果有多条执行路径,则称为多线程程
阅读全文
摘要:JSP: 1. 指令 * 作用:用于配置JSP页面,导入资源文件 * 格式: <%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %> * 分类: 1. page : 配置JSP页面的 * contentType:等同于response.setContentType() 1. 设置响应
阅读全文
摘要:# Servlet概念 运行在服务器端的小程序 * Servlet就是一个接口,定义了Java类被服务器识别调用的规则。 * 我们自定义一个类,实现Servlet接口,重写方法。# Servlet入门: 1. 创建JavaEE项目 2. 定义一个类,实现Servlet接口(继承HttpServlet
阅读全文
摘要:public class BaseServlet extends HttpServlet { @Override protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletExcept
阅读全文
摘要:七大原则:1. 开闭原则 Open-Close Principle(OCP):一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。目的就是保证程序的扩展性好,易于维护和升级。 开闭原则被称为面向对象设计的基石,实际上,其他原则都可以看作是实现开闭原则的工具和手段。意思就是:软件对扩展应该是开放的
阅读全文
摘要:发错了。。!-- Spring配置 --> <context-param> <param-name>contextConfigLocation</param-name> <!-- 指定spring配置文件(classpath*: 包括jar包中配置) --> <param-value>classpa
阅读全文
摘要:<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-w
阅读全文
摘要:package cn.itcast.travel.web.servlet;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.ObjectMapper;impo
阅读全文
摘要:1.1.什么是NOSQL NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从
阅读全文
摘要:正确使用 equals 方法 Object的equals方法容易抛空指针异常,应使用常量或确定有值的对象来调用 equals。 举个例子: [Java] 纯文本查看 复制代码 ? 1 2 3 4 5 6 7 // 不能使用一个值为null的引用类型变量来调用非静态方法,否则会抛出异常 String
阅读全文
摘要:在java中,?代表通配符。通配符用法1. 在实例化对象的时候,不确定泛型参数的具体类型时,可以使用通配符进行对象定义2. <? extends Object>代表上边界限定通配符3. <? super Object>代表下边界限定通配符。上边界限定通配符上边界通配符直接使用add()方法受限,但是
阅读全文
摘要:经常会在一些网站或博客看到“深克隆”,“浅克隆”这两个名词,其实这个很好理解,今天我们就在这里分析一下js深拷贝和浅拷贝。 浅拷贝 我们先以一个例子来说明js浅拷贝: var n = {a: 1, b: 2}var m = nm.a = 12console.log(n.a) // ? 上面显然 n.
阅读全文
摘要:1、wxs 取数据想必大家都会,不就是 substring 吗?但是这种方法在 wxml 页面中是无效的。 那还有 css 啊,不一样可以做到吗?但是个人觉得 css 复用性太差,暂不考虑。 实在不行就用 js 呗,在获取到数据后就对数据进行截取。 这样好像可以,但数据一多稍微有点复杂,而且一般获取
阅读全文
摘要:java基础有很多的细节,如果不清楚其底层是如何运行的,很多我们一贯以来的想法都会致使我们做出错误的判断,话不多说,一起来颠覆三观吧。1. 猜猜他们分别会输出啥?System.out.println(1+2+"a");System.out.println("a"+1+2);第一行输出3a,第二行输出
阅读全文
摘要:static 在 C 语言中有三种主要的用法。1. static 修饰一个局部变量。 对变量的生命周期做出了改变,局部变量的生命周期变成了跟随整个程序。 老师上课写了一个程序,在没有加 static 的时候,num 三次的值都是 0。代码如下#include<stdio.h>#include<std
阅读全文
摘要:一、nginx概述 在很多的大型网站都是用nginx来进行服务代理,那么nginx究竟是什么,有什么作用呢? 在官网上是这样介绍的: [HTML] 纯文本查看 复制代码 ? 1 nginx [engine x] is an HTTP and reverse proxy server, a mail
阅读全文
摘要:前言SpringBoot为我们做的自动配置,确实方便快捷,但是对于新手来说,如果不大懂SpringBoot内部启动原理,以后难免会吃亏。所以这次博主就跟你们一起一步步揭开SpringBoot的神秘面纱,让它不在神秘我们开发任何一个Spring Boot项目,都会用到如下的启动类@SpringBoot
阅读全文
摘要:一、RabbitMQ简介 在介绍RabbitMQ之前实现要介绍一下MQ,MQ是什么?MQ全称是Message Queue,可以理解为消息队列的意思,简单来说就是消息以管道的方式进行传递。RabbitMQ是一个实现了AMQP(Advanced Message Queuing Protocol)高级消息
阅读全文
摘要:序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。 Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Re
阅读全文
摘要:xml常见的解析器: 1. JAXP:sun公司提供的解析器,支持dom和sax两种思想 2. DOM4J:一款非常优秀的解析器 3. Jsoup:jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于j
阅读全文
摘要:将会列举5种方法去创建 Java 对象,以及他们如何与构造函数交互,并且会有介绍如何去使用这些方法的示例。作为一个 Java 开发人员,我们每天都会创建大量的 Java 对象,但是我们通常会使用依赖管理系统去创建这些对象,例如 Spring 。然而,我们可以有更多的方式去创建对象,让我们一起在文章中
阅读全文
摘要:nginx指定文件路径有两种方式root和alias,这两者的用法区别,使用方法总结了下,方便大家在应用过程中,快速响应。root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。[root]语法:root path默认值:r
阅读全文
摘要:Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎。• 查询 : Elasticsearch 允许执行和合并多种类型的搜索 — 结构化、非结构化、地理位置、度量指标 — 搜索方式随心而变。• 分析 : 找到与查询最匹配的十个文档是一回事。但是如果面对的是十亿行日志,
阅读全文
摘要:Java集合_Map接口(HashMap、TreeMap实现类)源码剖析、Connections工具类Map(双列集合框架)1、Map接口及实现类概述| Map接口:存储的是一对一对的数据:key-value | HashMap:主要实现类;线程不安全的,效率高;允许添加null的key或null的
阅读全文
摘要:1,short s1=1;s1=s1+1;有什么错???答:s1为short型,1为int型,s1+1=2先为int型,S1为short型,所以需要通过强制转化—s1=(short)(s1+1); 举例:short s1=1;s1+=1;(正确,因为可以自动转化)2,请简述equals与==的区别在
阅读全文
摘要:Activiti简介Activiti 是由 jBPM 的创建者 Tom Baeyens 离开 JBoss 之后建立的项目,构建在开发 jBPM 版本 1 到 4 时积累的多年经验的基础之上,旨在创建下一代的 BPM 解决方案。Activiti是一个开源的工作流引擎,它实现了BPMN 2.0规范,可以
阅读全文
摘要:前言 ZooKeeper 是一个开源的分布式协调服务,由雅虎创建,是 Google Chubby 的开源实现。分布式应用程序可以基于 ZooKeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。 1、简介 ZooKeep
阅读全文
摘要:Docker是什么? 在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是十分普遍的,甚至成为了一些企业面试的加分项,不信的话看看下面这张图。 这是我在某招聘网站上看到的招聘 Java开发工程师 的招聘要求,其中有一条熟悉 docker
阅读全文
摘要:集合是我们在Java编程中使用非常广泛的,它就像大海,海纳百川,像万能容器,盛装万物,而且这个大海,万能容器还可以无限变大(如果条件允许)。当这个海、容器的量变得非常大的时候,它的初始容量就会显得很重要了,因为挖海、扩容是需要消耗大量的人力物力财力的。同样的道理,Collection的初始容量也显得
阅读全文
摘要:品优购业务&技术总结项目描述 XXX是公司自主研发的一个B2B2C电商平台,允许运营商自营和商家入驻,与京东商城非常类似。系统采用dubbox+zookeeper实现面向服务(SOA)分布式架构将不同的功能模块划分为多个子系统,其中包含运营商系统、商家系统、用户系统、网站前台系统、搜索系统、购物车系
阅读全文
摘要:在实际开发过程中我们经常使用asList讲数组转换为List,这个方法使用起来非常方便,但是asList方法存在几个缺陷:一、避免使用基本数据类型数组转换为列表使用8个基本类型数组转换为列表时会存在一个比较有味的缺陷。先看如下程序: [Java] 纯文本查看 复制代码 ? 1 2 3 4 5 6 7
阅读全文
摘要:集合是我们在Java编程中使用非常广泛的,它就像大海,海纳百川,像万能容器,盛装万物,而且这个大海,万能容器还可以无限变大(如果条件允许)。当这个海、容器的量变得非常大的时候,它的初始容量就会显得很重要了,因为挖海、扩容是需要消耗大量的人力物力财力的。同样的道理,Collection的初始容量也显得
阅读全文
摘要:品优购业务&技术总结项目描述 XXX是公司自主研发的一个B2B2C电商平台,允许运营商自营和商家入驻,与京东商城非常类似。系统采用dubbox+zookeeper实现面向服务(SOA)分布式架构将不同的功能模块划分为多个子系统,其中包含运营商系统、商家系统、用户系统、网站前台系统、搜索系统、购物车系
阅读全文
摘要:在实际开发过程中我们经常使用asList讲数组转换为List,这个方法使用起来非常方便,但是asList方法存在几个缺陷:一、避免使用基本数据类型数组转换为列表使用8个基本类型数组转换为列表时会存在一个比较有味的缺陷。先看如下程序: [Java] 纯文本查看 复制代码 ? 1 2 3 4 5 6 7
阅读全文
摘要:死锁发生的条件互斥,共享资源只能被一个线程占用占有且等待,线程 t1 已经取得共享资源 s1,尝试获取共享资源 s2 的时候,不释放共享资源 s1不可抢占,其他线程不能强行抢占线程 t1 占有的资源 s1循环等待,线程 t1 等待线程 t2 占有的资源,线程 t2 等待线程 t1 占有的资源避免死锁
阅读全文
摘要:Java提供了编译时多态和运行时多态两种多态机制。前者是通过方法重载实现的,后者是通过方法的覆盖实现的。 在方法覆盖中,子类可以覆盖父类的方法,因此同类的方法会在父类与子类中有着不同的表现形式。 在Java语言中,基类的引用变量不仅可以指向基类的实例对象,也可以指向其子类中的实例对象。同样,接口中的
阅读全文
摘要:今日内容1. 多表查询2. 事务3. DCL多表查询:* 查询语法: select 列名列表 from 表名列表 where....* 准备sql # 创建部门表 CREATE TABLE dept( id INT PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(2
阅读全文
摘要:定义一个数组: int[] a=new int[5] 数组在内存中是一个连续的存储空间 这个空间有一个首地址 也就是第一个元素所在的地址,比如说是1a2b3c4d 那么这个a实际是数组变量 它存的只是个地址,它不能把整个数组都存进去没有那么大的地方, 也就是a >1a2b3c4d 也就是说通过a变量
阅读全文
摘要:1.单一原则(Single Responsibility Principle):一个类只负责一项职责,尽量做到类的只有一个行为原因引起变化; a、业务对象(BO business object)、业务逻辑(BL business logic)拆分;2.里氏替换原则(LSP liskov substi
阅读全文
摘要:一、什么是命令式 命令(Command)模式又叫作动作(Action)模式或事务(Transaction)模式,是一种对象的行为模式。将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。 命令模式的本质:封装请求 设计意图:命令模式通过将
阅读全文
摘要:1.空字符串的作用 如题所示,当进行s=s+i的时候,s在前和s在后输出的结果是相反的。空字符串在前时是正着输出,空字符串在后是逆着输出 2.short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错? 第一种情况,s1是short类型,在计
阅读全文
摘要:前言 相信写Java的人,大都有用过List的实现类ArrayList。在Java没有泛型之前,它的内部是一个Object的数组实现的。这也导致一个问题,每次使用里面的元素的时候需要向下转型,而且很明显,如果是Object的话,意味着我们可以丢任何对象进去。自动转型成Object,这样在使用的时候就
阅读全文
摘要:Redis持久化机制 众所周知,Redis是一个内存数据库。但它与其它内存数据库(如memcache)等有一个很大的区别,就是Redis可以持久化到磁盘。有了持久化方案,Redis就可以对数据进行备份、恢复、复制。Redis提供了两种持久化方案:RDB和AOF。在Redis 4.0中,提供了一个新特
阅读全文
摘要:ES学习分享一、ES是什么 Elasticsearch是一个基于Apache Lucene的开源搜索引擎,通过简易的API来隐藏Lucene的复杂性。ES的基本结构包括,Cluster集群(由n个节点组成),Node实例节点,Index索引(一系列documents的集合),Shard分片(索引的数
阅读全文
摘要:在日常的学习工作当中,有一些知识是我们在读书的时候就能够习得;但有一些知识不是的,需要在实践的时候才能得到真知——这或许就是王阳明提倡的“知行合一”。在Java中,并不是所有的类型信息都能在编译阶段明确,有一些类型信息需要在运行时才能确定,这种机制被称为RTTI,英文全称为Run-Time Type
阅读全文
摘要:理解锁的基础知识 如果想要透彻的理解java锁的来龙去脉,需要先了解以下基础知识。 基础知识之一:锁的类型 按照其性质分类 公平锁/非公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁。非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成
阅读全文
摘要:前言Java的Annotation是在5.0版本之后引入的,可以用于创建文档,跟踪代码中的依赖性,并且可以执行编译时期检查。注解就是给虚拟机看的,代表程序的一些特殊的功能。JDK中提供了@Override,@SuppressWarning,@Deprecated三种注解,当让还有元注@Target,
阅读全文
摘要:高并发带来的后果 服务端: 导致站点服务器/DB服务器资源被占满崩溃,数据的存储和更新结果和理想的设计是不一样的,比如:出现重复的数据记录,多次添加了用户积分等。 用户角度: 尼玛,这么卡,老子来参加活动的,刷新了还是这样,垃圾网站,再也不来了! 程序员的经历: 在做公司产品网站的过程中,经常会有多
阅读全文
摘要:写出整洁的代码,是每个程序员的追求。《clean code》指出,要想写出好的代码,首先得知道什么是肮脏代码、什么是整洁代码;然后通过大量的刻意练习,才能真正写出整洁的代码。WTF/min是衡量代码质量的唯一标准,Uncle Bob在书中称糟糕的代码为沼泽(wading),这只突出了我们是糟糕代码的
阅读全文
摘要:多表查询的概述: 同时查询多张表获取到需要的数据例如:我们想查询到开发部有多少人,需要将部门表和员工表同时进行查询多表查询的分类: 内连接查询 显示内连接 隐式内连接 外连接查询 左外连接 右外连接 子查询 子查询的结果是一个值的 子查询的结果是单列多行的 子查询的结果是多列多行的内连接的概述:用左
阅读全文
摘要:一 安装说明RabbitMQ由Erlang语言开发,Erlang语言用于并发及分布式系统的开发,在电信领域应用广泛,OTP(OpenTelecom Platform)作为Erlang语言的一部分,包含了很多基于Erlang开发的中间件及工具库,安装RabbitMQ需要安装Erlang/OTP,并保持
阅读全文
摘要:一 工作模式简介 1 简单模式 生产者发送消息到队列中,一个消费者从队列中接收消息。ps:在RabbitMQ中消费者只能从队列接收消息。 2 工作队列模式 一个消息只能被一个消费者接收,其它消费者是不能接收到同一条消息的。 应用场景:可以在消费者端处理任务比较耗时的时候;添加对同一个队列的消费者来提
阅读全文
摘要:问题 (1)创建线程有哪几种方式? (2)它们分别有什么运用场景? 简介 创建线程,是多线程编程中最基本的操作,彤哥总结了一下,大概有8种创建线程的方式,你知道吗? 继承Thread类并重写run()方法public class CreatingThread01 extends Thread { @
阅读全文
摘要:1. 引用数据类型1.1 Scanner类 我们要学的Scanner类是属于引用数据类型,我们先了解下引用数据类型。 引用数据类型的使用: 与定义基本数据类型变量不同,引用数据类型的变量定义及赋值有一个相对固定的步骤或格式。 数据类型 变量名 = new 数据类型(); 每种引用数据类型都有其功能,
阅读全文
摘要:PS:为了方便不同水平的开发人员阅读,我把代码全部写到Controller里面。这个demo的file入参的类型是MultipartFile,很多网上的例子是File类型。这两个类型在解析文件的时候还是有点区别的。 第①个方法: [url=][/url]1 /** 2 * 这个deomo入参的类型是
阅读全文
摘要:从启动容器开始 最简单的启动spring的代码如下: @Configuration@ComponentScanpublic class AppConfig {}public class Main { public static void main(String[] args) { Annotatio
阅读全文
摘要:1 序列化概念 序列化就是一个把Java对象编码成一串二进制的过程 序列化的用途:可以将对象放入文件存储、或者放入网络传输 反序列化就是一个解码的过程 序列化没有固定的标准,有各种各样序列化的方法 Java自带序列化接口 创建一个User类 在main方法里创建User对象,通过ObjectOutp
阅读全文
摘要:1.什么时候加载类(类的加载时机)? 当程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来实现对这个类进行初始化。 (1)创建类的实例 (2)访问类的静态变量,或者为静态变量赋值 (3)调用类的静态方法 (4)使用反射方式来强制创建某个类或接口对应的java.lan
阅读全文
摘要:简而言之就是:Socket使用的tcp连接,需要先连接之后才能发送数据。DatagramSocket使用的UDP连接,客户端不需要先连接数据,可以直接发送给指定服务端。DatagramSocket:客户端发送(直接发送数据,没有连接的过程): [Java] 纯文本查看 复制代码 ? 01 02 03
阅读全文
摘要:新手也能看懂的 SpringBoot 异步编程指南通过本文你可以了解到下面这些知识点:Future 模式介绍以及核心思想核心线程数、最大线程数的区别,队列容量代表什么;ThreadPoolTaskExecutor 饱和策略;SpringBoot 异步编程实战,搞懂代码的执行逻辑。Future 模式异
阅读全文
摘要:一、注解(annotations)列表@SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它
阅读全文
摘要:如果你是70、80后的程序员,你一定要看一看这篇文章,保证满满的回忆。如果你是90后,那你更要看看这篇文章,因为你能找到java web发展的历史。言归正传,Java语言能长期霸占语言排行榜一个重要的原因就是强大的web开发能力,web开发是java的基石(在EJB推出的时候当时的Sun用基石来描述
阅读全文
摘要:定义函数式编程其实就是编写非故意副作用的程序。课外知识——什么是函数函数简单的说就是从A(定义域)到B(值域)的一个映射过程。当然具体的函数还有各种限制,具体见链接。所以函数式编程也应该是一个从入参到返回值的黑盒子。概述并不是所有人在函数式编程的定义上达成了共识。一般来说,函数式编程是使用函数来编程
阅读全文
摘要:## 1. 参数传递### 1.1 类名作为形参和返回值(应用)* 1、类名作为方法的形参 方法的形参是类名,其实需要的是该类的对象 实际传递的是该对象的【地址值】* 2、类名作为方法的返回值 方法的返回值是类名,其实返回的是该类的对象 实际传递的,也是该对象的【地址值】* 示例代码: ```jav
阅读全文
摘要:vi和vim都是Linux中的编辑器,不同的是,vim比较高级,可以视为vi的升级版本# vim模式 三种模式(大众的认知):命令模式、编辑模式(插入模式)、末行模式(尾行模式)。 命令模式:在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等等)【打开文件之
阅读全文
摘要:### 1.1 数据源(连接池)的作用 数据源(连接池)是提高程序性能如出现的事先实例化数据源,初始化部分连接资源使用连接资源时从数据源中获取使用完毕后将连接资源归还给数据源常见的数据源(连接池):DBCP、C3P0、BoneCP、Druid等**开发步骤**①导入数据源的坐标和数据库驱动坐标②创建
阅读全文
摘要:基础加强1. ==和 equals()的区别?2. 方法重写(Overloading)和方法重载(Overwrite)的区别?3. 描述遇到过的异常有哪些?==用于比较基本数据类型, 比较变量值是否相等 equals()方法:是用来比较两个对象是否相等,即实际比较的是两个 对象的内容是否相同。equ
阅读全文
摘要:1. web概念概述* JavaWeb: * 使用Java语言开发基于互联网的项目 * 软件架构: 1. C/S: Client/Server 客户端/服务器端* 在用户本地有一个客户端程序,在远程有一个服务器端程序 2. B/S: Browser/Server 浏览器/服务器端* 只需要一个浏览器
阅读全文
摘要://创建目标对象 final Target target = new Target(); //增强对象 final Advice advice = new Advice(); TargetInterface proxy = (TargetInterface) Proxy.newProxyInstan
阅读全文
摘要:通配符?后只允许出现一个边界。通配符只允许出现在引用中(普通变量引用、形参),一般是用作<? extends 具体类型>或者<? super 具体类型>。相对地,比如通配符不允许出现在泛型定义中(泛型类、泛型接口、泛型方法的< >里),class one<? extends Integer> {}这
阅读全文
摘要:set:无序, 元素不可重复(但是元素在 set 中的位置是有该元素 的 HashCode 决定的, 其位置其实是固定的) map:无序, 元素可重复 区别:Set 中的对象不按特定方式排序, 并且没有重复对象。 但它的有些实现类能对集合中的对象按特定 方式排序, 例如 TreeSet 类, 它可以
阅读全文
摘要:package demo01;import java.io.File;public class Demo02 { public static void main(String[] args) { findFiles("输入要遍历的目录"); } public static void findFile
阅读全文
摘要:Filter:过滤器 1. 概念: * 生活中的过滤器:净水器,空气净化器,土匪、 * web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。 * 过滤器的作用: * 一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤... 2. 快速入门: 1. 步骤
阅读全文
摘要:!--list集合注入--><bean id="userDao" class="cn.itcast.dao.impl.UserDaoImpl"> <property name="strlist"> <list> <value>aaa</value> <value>bbb</value> <value
阅读全文
摘要:Spring是什么Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核。提供了展现层 SpringMVC和持久层 Sp
阅读全文
摘要:Future 模式介绍以及核心思想核心线程数、最大线程数的区别,队列容量代表什么;ThreadPoolTaskExecutor 饱和策略;SpringBoot 异步编程实战,搞懂代码的执行逻辑。Future 模式异步编程在处理耗时操作以及多任务处理的场景下非常有用,我们可以更好的让我们的系统利用好机
阅读全文
摘要:1) 使用无参构造方法实例化 它会根据默认无参构造方法来创建类对象,如果bean中没有默认无参构造函数,将会创建失败 <bean id="userDao" class="com.itheima.dao.impl.UserDaoImpl"/>2) 工厂静态方法实例化 工厂的静态方法返回Bean实例 p
阅读全文
摘要:概念: 一个JavaScript框架。简化JS开发 * jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨 是“write Less,Do More”,即倡导写更少的代码,做更
阅读全文
摘要:什么是线程池,有哪些常用线程池?就是事先创建若干个可执行的线程放入一个池(容器) 中, 需要的时候从池中获取线程不用自行创建, 使用完毕不需 要销毁线程而是放回池中, 从而减少创建和销毁线程对象的开销 常用线程池: (1) newSingleThreadExecutor: 创建一个单线程的线程池,
阅读全文
摘要:package lwr;public class recursionBinarySearch { public static int recursionBinarySearch(int[] arr,int key,int low,int high){ if(key>arr[high]||key<ar
阅读全文
摘要:public class SellTicket02 implements Runnable { private int tickets = 100; private Lock lock=new ReentrantLock(); @Override public void run() { while
阅读全文
摘要:基本数据类型,如int,float,double,boolean,char,byte,不具备对象的特征,不能调用方法。装箱:将基本类型转换成包装类对象int i=10;Integer x=new Integer(i);手动装箱Integer y=10;自动装箱拆箱:将包装类对象转换成基本类型的值In
阅读全文
摘要:1、什么是序列化: 序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化 序列化后可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间2、序列化与反序列化: 序列化 : 把Java对象转换为字节序列的过程 反序列化 : 把字节序列恢复为Java对象的过程3、序列化目的
阅读全文
摘要:使用Java对象创建的方式有以下4种: 1、使用new创建对象 2、使用反射的机制创建对象,其中包含: 2.1 使用Class类的newInstance方法 2.2 使用Constructor类的newInstance方法 3、使用clone方法 4、使用序列化机制,反序列化1、使用new创建对象
阅读全文
摘要:1.使用new关键字 这是最常用也最简单的方式,看看下面这个例子就知道了。 [Java] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 public class Test { private String name; pub
阅读全文
摘要:使用Java对象创建的方式有以下4种: 1、使用new创建对象 2、使用反射的机制创建对象,其中包含: 2.1 使用Class类的newInstance方法 2.2 使用Constructor类的newInstance方法 3、使用clone方法 4、使用序列化机制,反序列化1、使用new创建对象
阅读全文
摘要:快速排序 快速排序的基本思想是,通过一轮的排序将序列分割成独立的两部分,其中一部分序列的关键字(这里主要用值来表示)均比另一部分关键字小。继续对长度较短的序列进行同样的分割,最后到达整体有序。在排序过程中,由于已经分开的两部分的元素不需要进行比较,故减少了比较次数,降低了排序时间。 详细描述:首先在
阅读全文
摘要:jdk提供了jmap的方式获取jvm堆的对象,可以说极大的解决了oom的问题分析,下面我们说说这个方式的问题以及优化方式。常规解决方式直接用jmap获取或者在jvm参数里加上dump参数。我们可以获取堆的dump。进行分析的时候我们可以看到什么对象占用多大的空间,以此可以分析出我们是堆空间不够导致的
阅读全文
摘要:近期 Java 界好消息频传。先是 Java 13 发布,接着 Eclipse 也发布了新版本表示支持新版本的Java 特性。本文介绍了 Java 13 的新特性并展示了相关的示例。2019年9月17日,Java 13 正式发布。特性如下。Java 13 新特性此版本带来了以下几大新特性: JEP
阅读全文
摘要:package com.yellow.cas;import java.util.concurrent.TimeUnit;import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.atomic.Atomic
阅读全文
摘要:Java 单例设计模式 常见4种适合功能场景主要特点饿汉式单例 Eager loading(立即加载方式)懒汉式单例 Lazy Loading(延迟加载方式)枚举单例ConcurrentHashMap容器单例适合功能场景配置文件读写对象, 数据库连接池, Spring的 IOC容器 Applicat
阅读全文
摘要:软件的架构:BS和CSWeb介绍JavaEE规范模拟一个TomcatTomcat的安装、配置Tomcat的启动与关闭Tomcat的目录结构Tomcat启动时常见的问题IDEA绑定tomcat1.软件的架构:BS和CSCS介绍CS(Client/Server):客户端/服务器模式。<ignore_js
阅读全文
摘要:1.HashMap简介HashMap作为开发中使用频率比较高的容器类,对HashMap底层原理的理解。有利我们写出质量更高的代码,提升系统的性能。2.从类的层次看HashMapHashMap实现Map接口,属于集合框架中Map的一种实现,主要使用key和value存储数据。存储的元素key是不可以重
阅读全文
摘要:一:懒汉,线程不安全这种写法lazy loading很明显,但是致命的是在多线程不能正常工作。public class Singleton{ private static Singleton instance; private Singleton(){}; public static Singlet
阅读全文
摘要:初始化一个类,生成一个实例的时候;newInstance() 和 new 有什么区别? 用newInstance与用new是区别的,区别在于创建对象的方式不一样,前者是使用类加载机制,那么为什么会有两种创建对象方式?这个就要从可伸缩、可扩展,可重用等软件思想上解释了。 Java中工厂模式经常使用ne
阅读全文
摘要:1.SOA架构和微服务架构的区别 首先SOA和微服务架构一个层面的东西,而对于ESB和微服务网关是一个层面的东西,一个谈到是架构风格和方法,一个谈的是实现工具或组件。 1.SOA(Service Oriented Architecture)“面向服务的架构”:他是一种设计方法,其中包含多个服务, 服
阅读全文
摘要:一、Java中的经典算法之冒泡排序原理:比较两个相邻的元素,将值大的元素交换至右端。思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放
阅读全文
摘要:Collections 工具类常用方法:排序查找,替换操作同步控制(不推荐,需要线程安全的集合类型时请考虑使用 JUC 包下的并发集合)排序操作void reverse(List list)//反转void shuffle(List list)//随机排序void sort(List list)//
阅读全文
摘要:我们学习java基础的时候.我们都知道在main方法中String的getBytes()方法如果不指定编码格式,默认是UTF-8的方法进行的编码.我们一直认为默认的编码格式就是UTF-8.直到我们学习了javaWeb.在Servlet中.我们通过getBytes()获取的是按照GBK进行编码的.至此
阅读全文
摘要:Git常用命令总结 git init 在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.git clone 获取一个url对应的远程Git repo, 创建一个local copy. 一般的格式是git clone [url
阅读全文
摘要:最近在参与一个基于Elasticsearch作为底层数据框架提供大数据量(亿级)的实时统计查询的方案设计工作,花了些时间学习Elasticsearch的基础理论知识,整理了一下,希望能对Elasticsearch感兴趣/想了解的同学有所帮助。 同时也希望有发现内容不正确或者有疑问的地方,望指明,一起
阅读全文
摘要:1.为什么要使用Elasticsearch? 因为在我们商城中的数据,将来会非常多,所以采用以往的模糊查询,模糊查询前置配置,会放弃索引,导致商品查询是全表扫面,在百万级别的数据库中,效率非常低下,而我们使用ES做一个全文索引,我们将经常查询的商品的某些字段,比如说商品名,描述、价格还有id这些
阅读全文
摘要:JavaScript 输出:JavaScript 没有任何打印或者输出的函数。JavaScript 显示数据:JavaScript 可以通过不同的方式来输出数据:1. 使用 window.alert() 弹出警告框。代码示例: <script> window.alert("您可真帅!!!"); </
阅读全文
摘要:post类型的body中可以存放任意的内容格式,浏览器可以根据请求头中指定的content-type类型对请求体进行解析。下面介绍postman如何对四种典型的请求体进行模拟。一 form-data 即multipart/form-data,它将表单的数据组织成Key-Value形式,用分隔符bou
阅读全文
摘要:一 Swagger由来和优势 现在多数的项目开发中,网站和移动端都需要进行数据交互和对接,这少不了使用REST编写API接口这种场景。 特别是不同开发小组协作时,就更需要以规范和文档作为标准和协作基础。 良好的文档可以减少沟通成本,达到事半功倍的效果。有时对一些API说明的理解比较模糊,总想着能直接
阅读全文
摘要:java多线程之间的通信要实现多个线程之间的协同,如线程执行先后顺序、获取某个线程的执行结果等等。涉及到线程之间的相互通信,分为下面四类:1)文件共享2)网络共享3)变量共享4)JDK提供的线程协调API细分为:suspend/resume、wait/notify、park/unpark1.文件共享
阅读全文
摘要:一.锁的划分从机制来说,锁有6种。1.自旋锁是指当一个线程在获取锁的时候,如果锁已经被其他线程获取,那么该线程将循环等待,然后不断的判断锁是否能够被成功获取,直到获取锁才会退出循环。2.乐观锁假定没有冲突,在修改数据时候如果发现数据和之前获取的不一样,则读取最新数据,修改后重试。3.悲观锁假定会发生
阅读全文
摘要:1、冒泡排序算法通过多次比较(相邻两个数)和交换来实现排序public class bubble { public static void bubbleSort(int[] a) { int temp; for (int i = 1; i < a.length; i++) { //将相邻两个数进行比
阅读全文
摘要:这是 Java 爬虫系列博文的第五篇,在上一篇 Java 爬虫服务器被屏蔽,不要慌,咱们换一台服务器 中,我们简单的聊反爬虫策略和反反爬虫方法,主要针对的是 IP 被封及其对应办法。前面几篇文章我们把爬虫相关的基本知识都讲的差不多啦。这一篇我们来聊一聊爬虫架构相关的内容。 前面几章内容我们的爬虫程序
阅读全文
摘要:[backcolor=rgba(255, 255, 255, 0.9)]类加载过程为JVM将类描述数据从.class文件中加载到内存,并对数据进行解析和初始化,最终形成被JVM直接使用的Java类型。包含: 加载:获取该类的二进制字节流,将字节流代表的静态存储结构转化为方法区的运行时数据结构,并在内
阅读全文
摘要:第一类:请求路径参数 1. @PathVariable 获取路径参数。即url/{id}这种形式。 2. @RequestParam 获取查询参数。即url?name=这种形式 例子 GEThttp://localhost:8080/demo/123?name=suki_rong对应的java代码
阅读全文
摘要:1.1 typeHandlers类型转换器 每当MyBatis 设置参数到PreparedStatement 或者从ResultSet 结果集中取得值时,就会使用TypeHandler 来处理数据库类型与java 类型之间转换。下表描述了默认 TypeHandlers 1.1.1 自定义类型转换器
阅读全文
摘要:(笔试题)MySQL的InnoDB和MyISAM的区别:1.在事务上:myisam不支持事务,innodb支持事务。这个也是一个事务失效的原因之一2myisam使用了表级锁,innodb使用了行级锁3.mysql5.0后面的版本默认使用innodb引擎,5.0之前都是用myisam引擎4.InnoD
阅读全文
摘要:命令操作 1. redis的数据结构: * redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构 * value的数据结构: 1) 字符串类型 string 2) 哈希类型 hash : map格式 3) 列表类型 list : linkedlist
阅读全文
摘要:冒泡 for (int j = 0; j < a.length - i; j++) { if (a[j] > a[j + 1]) { //交换相邻两个数 temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } } } } public static void main(Stri
阅读全文
摘要:SpringMVC的文件上传1-SpringMVC的请求-文件上传-客户端表单实现(应用)文件上传客户端表单需要满足:表单项type=“file”表单的提交方式是post表单的enctype属性是多部分表单形式,及enctype=“multipart/form-data” <form action=
阅读全文
摘要:<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
阅读全文
摘要:package controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestBody;import org.springframew
阅读全文
摘要:## 1.Spring配置数据源### 1.1 数据源(连接池)的作用 数据源(连接池)是提高程序性能如出现的事先实例化数据源,初始化部分连接资源使用连接资源时从数据源中获取使用完毕后将连接资源归还给数据源常见的数据源(连接池):DBCP、C3P0、BoneCP、Druid等**开发步骤**①导入数
阅读全文
摘要:Redis 1. 概念: redis是一款高性能的NOSQL系列的非关系型数据库 1.1.什么是NOSQL NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2
阅读全文
摘要:public class Demo { public static void main(String[] args) { Random rd=new Random(); int[] arr=new int[320]; for (int i = 0; i < arr.length; i++) { ar
阅读全文
摘要:1-SpringMVC的请求-文件上传-客户端表单实现(应用)文件上传客户端表单需要满足:表单项type=“file”表单的提交方式是post表单的enctype属性是多部分表单形式,及enctype=“multipart/form-data” <form action="${pageContext
阅读全文
摘要:范式,英文:Normal Form,简称NF。它的由英国关系型数据库鼻祖 E.F.Codd在提出关系型数据库模型后总结出来的一种理论,范式也是关系型数据库的理论基础,也是我们在设计数据库时需要遵守的守则。简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系。所以建立科学的,
阅读全文
摘要:1.选择唯一性索引 唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录。例如,学生表中学号是具有唯一性的字段。为该字段建立唯一性索引可以很快的确定某个学生的信息。如果使用姓名的话,可能存在同名现象,从而降低查询速度。 2.为经常需要排序、分组和联合操作的字段建立索引 经常需要ORDER B
阅读全文
摘要:MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(
阅读全文
摘要:什么是三范式 设计关系型数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。 目前关系型数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和
阅读全文
摘要:在mysql中使用索引的原则有以下几点:1、 对于查询频率高的字段创建索引;2、 对排序、分组、联合查询频率高的字段创建索引;3、 索引的数目不宜太多 原因:a、每创建一个索引都会占用相应的物理控件; b、过多的索引会导致insert、update、delete语句的执行效率降低;4、若在实际中,需
阅读全文
摘要:$.ajax()方法详解 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址。 2.type: 要求为String类型的参数,请求方式(post或get)默认为get。注意其他http请求方法,例如put和delete也可以使用,但仅部分浏览器支持。 3.timeout:
阅读全文
摘要:数据库设计范式什么是范式:简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系。所以建立科学的,规范的的数据库是需要满足一些规范的来优化数据数据存储方式。在关系型数据库中这些规范就可以称为范式。什么是三大范式:第一范式:当关系模式R的所有属性都不能在分解为更基本的数据单位时
阅读全文
摘要:一、什么是Spring Boot Spring 诞生时是 Java 企业版(Java Enterprise Edition,JEE,也称 J2EE)的轻量级代替品。无需开发重量级的 Enterprise JavaBean(EJB),Spring 为企业级Java 开发提供了一种相对简单的方法,通过依
阅读全文
摘要:MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github。 ●【GitHub】 GitHub就是一个互联网上的超大SVN库,里面
阅读全文
摘要:一、前言 我们将部分信息存储在session中,web阶段一般存储的是用户名的一些信息用于验证用户是否登录。我们发现当我们关闭浏览器之后,之前存储的session信息就获取不到了。我们知道session是存储在服务器中、默认的时间是30分钟,为何获取不到了呢?因为获取session的时候需要浏览器携
阅读全文
摘要:1. 谈谈你对MVVM开发模式的理解 MVVM分为Model、View、ViewModel三者。 Model:代表数据模型,数据和业务逻辑都在Model层中定义; View:代表UI视图,负责数据的展示; ViewModel:负责监听Model中数据的改变并且控制视图的更新,处理用户交互操作; Mo
阅读全文
摘要:1.v-text 该指令可以渲染文本 在标签属性位置上写上 v-text ="属性名" 和插值表达式区别是 插值表达式 卸载innerHTML位置 v-text 写在标签属性位置2.v-html用来渲染带标签的文本,网站上动态渲染任意的html危险 ,容易受到xss攻击,只在可信内容上使用 v-ht
阅读全文
摘要:实验目的本实验的主要目的如下。 理解类的基本概念,掌握如何从需求分析中抽象出类的方法。 理解类之间关系,掌握如何分析具体实例中的类之间的关系。 掌握在 UMLet 中绘制类图的基本操作方法。 实验原理1. UMLet的使用UMLet 是一款免费且开源的 UML 建模工具,它可以将原型导出为 bmp、
阅读全文
摘要:每个人都有犯错误的时候,都希望有种“后悔药”能弥补自己的过失,让自己重新开始,但现实是残酷的。在计算机应用中,客户同样会常常犯错误,能否提供“后悔药”给他们呢?当然是可以的,而且是有必要的。这个功能由“备忘录模式”来实现。其实很多应用软件都提供了这项功能,如 Word、记事本、Photoshop、E
阅读全文
摘要:Netty是Trustin Lee在2004年开发的一款高性能的网络应用程序框架。相比于JDK自带的NIO,Netty做了相当多的增强,且隔离了jdk nio的实现细节,API也比较友好,还支持流量整形等高级特性。在我们常见的一些开源项目中已经普遍的应用到了Netty,比如Dubbo、Elastic
阅读全文
摘要:沉迷于业务开发的你们,有没有考虑过“用户访问到你开发的业务功能,到底经过了哪些环节”? 今天我将结合这些年的一些认知理解,开坛设法给大家讲一讲应用系统架构的从 0 到 1。 01. 如何造一个大泥球? 产品汪:紧急需求,2 天时间完成 x 网站的上线,包含知识问答页面功能。 程序猿:时间短,任务紧。
阅读全文
摘要:聊聊服务发现注册服务多,迭代快是微服务的明显特征。那么在快速小版本迭代业务时,如果按照传统的方式发布更新服务,手动的修改一些服务与服务之间的调用关系是非常麻烦且累人的。一个典型的场景可能是,一个微服务升级迭代之后,硬件环境发生改变(IP等的变化)。传统的做法是修改与其有调用关系的微服务调用地址然后一
阅读全文
摘要:进程介绍 python开发中,进程与线程是非常重要的,打造分布式爬虫,提高工作效率都离不开进程与线程。进程 进程就是一个程序在一个数据集上的一次动态执行过程。 进程一般由程序、数据集、进程控制块三部分组成。我们编写的程序用来描述进程要完成哪些功能以及如何完成;数据集则是程序在执行过程中所需要使用的资
阅读全文
摘要:1、Js的原型和原型链怎么理解?原型链有什么应用? 答:js原型以及原型链是js面向对象编程的基础和重点,这个也是笔试和面试常问到的问题。 每一个构造函数都有一个属性prototype,这个属性他指向就是我们常说的构造函数的原型。每当我们通过构造函数要去new一个实例的时候,new操作符会做些事情,
阅读全文
摘要:开发模式 要知道,跨域这个行为是浏览器禁止的,但是服务端并不禁止。使用proxyTable的原理就是将域名发送给本地的服务器,再由本地的服务器去请求真正的服务器。 打开config/index.js,修改dev里的proxyTable [JavaScript] 纯文本查看 复制代码 ? 01 02
阅读全文
摘要:JSTL和EL表达式EL表达式表达式语言(Expression Language),或称EL表达式,简称EL,是Java中的一种特殊的通用编程语言,借鉴于JavaScript和XPath。主要作用是在Java Web应用程序嵌入到网页(如JSP)中,用以访问页面的上下文以及不同作用域中的对象,取得对
阅读全文
摘要:select * from emp; #注释# # 命令行连接MySql #启动mysql服务器net start mysql#关闭 net stop mysql#进入mysql -h 主机地址 -u 用户名 -p 用户密码#退出exitstatus;显示当前mysql的version的各种信息。#
阅读全文
摘要:出处: https://www.cnblogs.com/myseries/p/11570661.html 查询语句的时候尽量避免全表扫描,使用全扫描,索引扫描!会引起全表扫描的几种SQL如下 1、模糊查询效率很低: 原因:like本身效率就比较低,应该尽量避免查询条件使用like;对于like ‘%
阅读全文
摘要:© YXW95 初级黑马 / 2019-10-18 20:12 / 95 人查看 / 0 人回复 / 0 人收藏 转载请遵从CC协议 禁止商业使用本文 javac和java 命令是我们最熟悉的,javac有个参数-encoding ?,用于.java文件以何种编码方式编译成.class文件;java
阅读全文
摘要:最常见,最频繁使用的12个基础命令如下:皮一下,这都是干货偶,大佬轻喷一、linux关机命令:1.shutdown命令安全地将系统关机(推荐)参数说明: [Java] 纯文本查看 复制代码 ? 1 2 3 4 5 6 7 8 9 [-r] 重启计算器。 [-h] 关机后关闭电源〔halt〕。 [-c
阅读全文
摘要:一 简介 GridFS是MongoDB中存储和查询超过BSON文件大小限制(16M)的规范,不像BSON文件那样在一个单独的文档中存储文件,GridFS将文件分成多个块,每个块作为一个单独的文档。默认情况下,每个GridFS块是255kB,意味着除了最后一个块之外(根据剩余的文件大小),文档被分成多
阅读全文
摘要:FastDFS由跟踪服务器(Tracker Server)、存储服务器(Storage Server)和客户端(Client)构成。一 跟踪服务器Tracker Server 负责接收客户端的请求,选择合适的组合StorageServer ,他们与StorageServer之间也用心跳机制来检查对方
阅读全文
摘要:31、String s = new String("xyz");创建了几个StringObject?是否可以继承String类? 两个或一个都有可能,”xyz”对应一个对象,这个对象放在字符串常量缓冲区,常量”xyz”不管出现多少遍,都是缓冲区中的那一个。NewString每写一遍,就创建一个新的对
阅读全文
摘要:前言 线程是程序的一条执行线索,执行路径,是程序使用cpu的最小单位。线程本身不能运行,它只能运行在程序中,线程是依赖于程序存在的。 多线程的意义 其实任何一个程序的执行都需要获得cpu的执行权,是由cpu来去决定到底是由哪个程序来去执行,那么多线程的存在其实就是“最大限度的利用cpu资源”,当某一
阅读全文
摘要:一. 是什么 简述: Redis是一个完全免费开源的,基于内存的高性能key-value存储系统,可以用作数据库、缓存和消息中间件。支持多种类型的数据结构. Redis内置数据持久化、LRU驱动事件、事物、主从复制、哨兵机制、集群、自动分区、lua脚本提供高可用性. 特点: 速度快:使用标准c语言编
阅读全文
摘要:前言 本文主要受众为开发人员,所以不涉及到MySQL的服务部署等操作,且内容较多,大家准备好耐心和瓜子矿泉水. 前一阵系统的学习了一下MySQL,也有一些实际操作经验,偶然看到一篇和MySQL相关的面试文章,发现其中的一些问题自己也回答不好,虽然知识点大部分都知道,但是无法将知识串联起来. 因此决定
阅读全文
摘要:前言:之前发布的面试题,多多少少有一些细节上的错误或者笔误,不少同学给我留言指正,我想着等开通留言之后在每一篇的留言下声明一下错误点。前天留言功能终于等到了。结果发现留言只能开通之后发的文章,还是太年轻啊!想着不要误人子弟,还是把文章重新整理一下,把错误的点改过来!! 1、一个".java"源文件中
阅读全文
摘要:1.BIO、NIO和AIO的区别? BIO:一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理。线程开销大。 伪异步IO:将请求连接放入线程池,一对多,但线程还是很宝贵的资源。 NIO:一个请求一个线程,但客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请
阅读全文
摘要:XWPFDocument对象POI是apache提供的可以操作word文档的第三方jar。POI能操作word是使用XWPFDocument对象。 XWPFDocument对象可以解析docx文件,在XWPFDocument对象通过输入流解析docx的时候,会获取到docx文档中的各种对象,例如表格
阅读全文
摘要:PXC简介: galera产品是以galera cluster方式为mysql提高高可用集群解决方案的。galera cluster就是集成了galera插件的mysql集群。galera replication是codership提供的mysql数据同步方案,具有高可用性,方便扩展,并且可以实现多
阅读全文
摘要:本文主要介绍面试过程经常问的Spring相关知识,通过阅读本文,你将掌握以下10点1.使用Spring框架的好处是什么?2. ApplicationContext通常的实现是什么?3.什么是Spring的依赖注入?有哪些方法进行依赖注入4.什么是Spring beans?5.解释Spring支持的几
阅读全文
摘要:转发 req.getRequestDispatcher("/要跳转的地址").forward(req, resp);转发的过程:(以servlet和jsp为例)浏览器首先发送一个请求到服务器端,服务器端发现匹配的 servlet,并指定它去执行,当这个 servlet 执行完之后,它要调用getRe
阅读全文
摘要:一、结构:(这里没有画图,将就到看哈)(1).ThreadLocal跟很多集合一样是一个泛型类(2).Thread包含一个ThreadLocal.ThreadLocalMap的成员变量(组合关系),也就是每个线程维护的独立副本的变量。(3).ThreadLocal包含一个内部类ThreadLocal
阅读全文
摘要:复杂的Object转Map, 在网上也找了些转换map的代码,但是 简单的Object转换还行,复杂点的就不行了,比如Object里有数组对象时就处理不了了,最后还是借助阿里的fastjson工具完成转换,如下 /** * Object 转 HashMap<String,Object> * @par
阅读全文
摘要:1. MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 1.MySQL需要不断进行拆库拆表,Memcach
阅读全文
摘要:Eureka客户端续约及服务端过期租约清理源码解析 在之前的文章:EurekaClient自动装配及启动流程解析中,我们提到了在构造DiscoveryClient时除了包含注册流程之外,还调度了一个心跳线程: scheduler.schedule( new TimedSupervisorTask(
阅读全文
摘要:概念 Bean创建过程中的“实例化”与“初始化”名词 实例化(Instantiation): 要生成对象, 对象还未生成. 初始化(Initialization): 对象已经生成.,赋值操作。 BeanPostProcessor :发生在 BeanDefiniton 加工Bean 阶段. 具有拦截器
阅读全文
摘要:我们得知JDK动态代理两要素:Proxy+InvocationHandlerCGLB动态代理两要素:Enhancer + MethodInterceptor(Callback) springAOP底层是通过动态代理和CGLB代理实现的。也就是spring最终的落脚点还应该是在Proxy+Invoca
阅读全文
摘要:为什么需要ARM64架构的OpenJDK8的Docker镜像 对现有的Java应用,之前一直运行在x86处理器环境下,编译和运行都是JDK8,如今在树莓派的Docker环境运行(也可能是其他ARM环境,如华为的泰山ARM服务器),需要JDK8镜像作为基础镜像。 OpenJDK的官方Dockerfil
阅读全文
摘要:1、ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等 常用参数搭配: ls -a 列出目录所有文件,包含以.开始的隐藏文件 ls -A 列出除.及..的其它文件 ls -r 反序排列 ls -t
阅读全文
摘要:1. Nginx服务的基本配置1.1 用于调试进程和定位问题的配置项 是否以守护进程的方式运行nginx # 默认ondaemon on|off; 是否以master/worker方式工作 # 默认on,指定了是否以master-worker进程的方式运行,如果设置为off,那么所有的请求将只会由m
阅读全文
摘要:SecurityJwt一个基于springSecurity的Json Web Token的实现 GitHub地址 提要一、SpringSecurity Spring Security,一种基于 Spring AOP 和 Servlet 过滤器的安全框架。它提供全面的安全性解决方案,同时在 Web 请
阅读全文
摘要:1问题引入例如到了发工资那天,员工通过各种形式和条件在企业的工资管理系统中查询自己的工资情况,有的员工还会多次查询自己的工资,如果每次查询都找数据库的话, 轻则查询速度慢,重则数据库“死掉了”,那么遇到这种以查询为主的应用,有什么办法能提高查询速度,不让数据库“死掉”呢?答案是采用缓存策略。2什么是
阅读全文
摘要:1问题引入 a我们在开发Spring时,虽然代码上简化不少,但Spring的配置还是相当烦索的。 b我们在开发Spring时,jar包的导入,版本,依赖一旦出错,都会导至Spring的应用失败。 那么有没有一种方式来解决Spring的配置和jar包管理呢,答案是SpringBoot。2SpringB
阅读全文
摘要:1、自增长列的插入:SQLServer中可以不为自动增长列插入值,MySQL中需要为自动增长列插入值。 2、获取当前时间函数:SQLServer写法:getdate()MySQL写法:now() 3、从数据库定位到表。Sqlserver写法:库名.dbo.表名 ;或者:库名..表名(注:中间使用两个
阅读全文
摘要:以前一直不知道Union和Union All到底有什么区别,今天来好好的研究一下,网上查到的结果是下面这个样子,可是还是不是很理解,下面将自己亲自验证: Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; Union All:对两个结果集进行并集操作,包括重复行,不进行排序
阅读全文
摘要:为什么使用JWT?随着技术的发展,分布式web应用的普及,通过session管理用户登录状态成本越来越高,因此慢慢发展成为token的方式做登录身份校验,然后通过token去取redis中的缓存的用户信息,随着之后jwt的出现,校验方式更加简单便捷化,无需通过redis缓存,而是直接根据token取
阅读全文
摘要:SpringBoot SpringBoot基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换 全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的效率 SpringBoot的特点 为基于Spring的开发提供更快的入门体验 开箱即用,没有代码生成,也无需XML配置。同时
阅读全文
摘要:1.1 概述 据最终保存在硬盘上,在硬盘上是以1和0 保存的。而给我们展示出来的并不是二进制数据,而是一个一个的文件,换句话说数据最终都保存在这些文件中。而这些文件又被文件夹管理。 通过上述描述我们发现在计算机硬盘中就存在两种事物:文件和文件夹事物。而在Java中使用class类来描述生活中存在的事
阅读全文
摘要:一、反射概述反射要依赖于Class类。由于Class表示类文件的字节码文件对象,类字节码文件就是在描述一个类,描述类的成员变量、成员函数和构造函数。而反射就是从一个类的字节码文件中拿到成员变量、成员函数和构造函数。要想从一个类中拿东西必须拿到这个类的字节码文件对象,所以反射依赖于Class,因此我们
阅读全文
摘要:Java基础之递归 1.1 概述 需求:扫描D:\test所有子文件夹及子子文件夹下的.jpg文件。 我们如果用循环来做这件事,我们不知道循环的结束条件,也不知道到底有多少层,所以比较麻烦。 我们可以用一种新的思想:递归。 递归举例: 从前有一座山,山里有座庙,庙里有个老和尚,老和尚在给小和尚讲
阅读全文
摘要:反射(二)一、反射概念反射就是通过一个类的Class对象把类中的各种成员映射成对应的Java类。一个类中的:成员变量、构造函数、成员方法都有对应的Java类:Field、Contructor、Method; 就比如:一个汽车是一个大类,汽车中的发动机、轮胎等等都可以是一个个小的类。一个类的Class
阅读全文
摘要:pringBoot核心功能1、独立运行Spring项目Spring boot 可以以jar包形式独立运行,运行一个Spring Boot项目只需要通过java -jar xx.jar来运行。2、内嵌servlet容器Spring Boot可以选择内嵌Tomcat、jetty或者Undertow,这样
阅读全文
摘要:随着业务需要,有时我们需要将数据批量添加到数据库,mybatis提供了将list集合循环添加到数据库的方法。具体实现代码如下:1、mapper层中创建 insertForeach(List < Fund > list) 方法,返回值是批量添加的数据条数java代码:package com.cente
阅读全文
摘要:一、什么是索引?为什么要建立索引?索引用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部分
阅读全文