自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 收藏
  • 关注

原创 postman-mock-server

postman的mock Server可以解决后端接口的上下游依赖

2021-05-02 22:53:10 102

原创 JAVA基础十五 java new io

java new io是相对于传统io来说的,传统的io模型是指 通过inputstream和outputstream 输入和输出 都是读写都是阻塞的, java new io 采用 channel buffer selector 数据是通过 channel传递,是双向的,可读可写。将buffer中的数据写入通道或者从通道读数据到buffer。new io实现非阻塞io其实本质上还是阻塞的,只不过通过io多路复用技术实现非阻塞操作。多路复用是指可以通过一个selector监听通道事件,通过事先注册事件.

2020-08-22 23:30:08 217

原创 java基础十四(线程池的概念)

1.线程池。类似的能实现线程管理调度的。线程池值得就是多个线程封装在一起进行操作。进行线程池操作需要主要记住 ExecutorService类,Executors类,和ScheduledExecutorService类。2.创建线程池。2.1创建无线大小的线程池ExecutorService exe = Executors.newCachedThreadPool();exe.submit...

2019-08-25 13:28:07 208

原创 java基础十三(生产者与消费者模型,以及线程的wait notify))

1.问题:以前只有一个线程由main函数决定,现在有了多线程,会有多个调用会造成,数据不完整并且数据重复操作的问题。为了解决这个问题,产生了消费者模型。2.解决数据的同步问题,最先想到同步问题。给set方法和 get方法设置syinchronized方法。解决了数据同步的问题,但是没有解决数据重复问题。3.为了解决数据的重复设置和重复取出问题,必须增加等待唤醒机制。wait not...

2019-08-25 10:29:31 130

转载 排序算法

冒泡排序循环数组 ,将每一个元素与之后的元素比较 要是顺序错误就颠倒过来。选择排序寻找最小的数放第一个位置,接着在余下的数里面寻找最小的数,一次类推直到找完。插入排序将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插...

2019-06-13 21:17:47 109

原创 css对打印的支持

我们可以通过 链接两个外部样式来控制 页面打印时的样式 和 显示样式。如:<link rel="stylesheet" href="lighthouse.css" media="screen"><link rel="stylesheet" href="lighthouseprint.css" media="print">2.在移动设备上可以通过<met...

2019-06-08 16:46:21 197

转载 算法:并查集(四种方式)

简单并查集public class UnionFind { private int[] id; private int count; public UnionFind(int N) { count = N; id = new int[N]; for(int i = 0; i < N; i++) id[i] = i...

2019-05-26 12:53:08 591

原创 html+css学习一<img>

img的src属性如果你的页面html文件是放在本地的,比如用浏览器打开桌面上的html文件,是可以访问本地图片文件的。如果你的html是在web服务器上的,即浏览器的地址是http://xxx.xxx/xx.html而不是file:///C:/xxx.html,那么是不允许打开file://开头的本地图片的,这是出于安全考虑的。这种情况下你可以按F12看看浏览器的错误信息是不是“not a...

2019-05-26 12:46:16 105

原创 java基础十二(多线程通过实现Runnable接口实现)

1.通过实现runnable接口实现线程public class ThreadImpRunnable { public static void main(String [] args) { /*Thread thread = new Thread(new Runnable() { @Override public void...

2019-05-11 23:21:11 158

原创 HTML和CSS学习

HTTP/2 https://http2.github.io国家代码TLD列表 http://www.iana.org/domains/root/db语法校验http://validator.w3.org

2019-05-10 20:24:32 80

原创 java基础十一(进程与线程、Thread类实现多线程)

线程实在进程上的基本划分,进程一旦消失线程就会消失。对操作系统而言,是进程级别的资源抢占。对线程而言则是对进程资源的抢占。要想实现一个多线程的主类有两种途径,一种是使用继承Thread类,另一种是实现Runnable、Callable接口。(推荐)2.正确启动多线程的方法就是调用 .start();方法。范例public class TestDemo { public st...

2019-05-03 01:06:59 188

原创 java基础十(内建函数式接口)

lamdba语法实际上简化为了方法引用,lambda核心在于函数式接口,而函数式接口的核心在于只有一个方法。如果细心观察的话,函数式编程只需要四种接口。(java.util.function)// 功能性函数接口:public interface Function<T,R> {public R apply(T t);}public class test { publ...

2019-05-02 17:12:34 222

原创 java基础九(方法引用)

从最初的开始基本上进行的引用基本上都是针对引用类型完成的,也就是说只有类、接口、数组具备引用的操作。现在追加了方法的引用。实际上就是为了别名。方法的引用形式有四类:a).引用静态方法:类名称 :: static方法名称(静态方法名称)b).引用某个对象的方法:实例化对象 :: 普通方法c).引用某个特定类的方法:类名称 :: 普通方法d).引用构造方法: 类名称 ::new范例:...

2019-05-02 16:43:18 145

原创 java基础八(lambda表达式,scala语言)

1.面向对象编程和函数式编程interface IMessage1 { public void fun();//追加了普通方法,有方法体了}public class test { public static void main(String [] args) { IMessage1 iMessage1 = new IMessage1() { //没有实现接...

2019-05-02 00:25:30 294

原创 java基础七(接口定义加强)

接口定义加强以前接口的方法只能是抽象方法没有方法体。当需要在接口中新增方法时,子类太多无法修改。java8就做了接口定义加强处理。即:接口可以有默认方法和静态方法:接口在子类可以不用实现该方法,该方法可以有方法体。整体来讲,接口类更像是抽象类了,但是接口的子类依然可以实现多继承的关系。而抽象类的子类只能实现单继承的关系。范例interface IMessage1 { publ...

2019-05-01 23:48:23 121

原创 java基础六(annotation注解)

项目开发用户 =》 程序 =》 配置文件 =》关系数据库、文件数据库、缓存数据库这是一个项目目前的基本内容将配置文件独立出来 可以在不修改源代码的前提下实现项目的变更,但是一个项目开发方面并不是很方便。配置文件太多可能造成开发者的晕眩。jdk将配置文件写到程序里,通过注解的方式完成,通过注解控制操作。事实上配置文件依然存在,只是说少了。本次主要看三个JDK内置的注解: @Overr...

2019-05-01 18:45:46 286

原创 java基础五(枚举中定义其它结构,枚举的应用)

1.可以在枚举中实现接口,定义属性,实现构造方法等。代码如下interface IColor { public String getColor();}enum Color implements IColor{ RED("红色"),GREEN("绿色"),BLUE("蓝色"); //如果定义很多内容,枚举对象必须写在第一行 private String title;...

2019-04-28 00:37:00 175

原创 java基础四(多例模式和枚举,枚举方法)

多例模式的目的是限制本类的实例化的产生个数。单例模式与之类似,代码如下class Color { private static final Color RED = new Color("RED"); private static final Color GREEN = new Color("GREEN"); private static final Color BL...

2019-04-27 23:17:34 579

原创 java基础三(泛型接口,泛型方法)

泛型接口首先介绍抽象方法,抽象方法是只有声明没有实现的方法。1.1抽象类例如 public abstract void getname();接下来是抽象类:1)抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。2)抽象类不能用来创建对象;3)如果一个类继承于一个抽象类,则子类必须实现父类...

2019-04-27 22:25:24 1044

原创 java基础二(泛型,通配符)

泛型的目的在写程序的过程中,往往一个类的同一参数可能有多种类型。为了实现这个目标。我么可以在调用的时候由开发者自己决定参数的类型。这种方法可以解决向下转型过程中可能出错的问题。例如public class Test { private Object name; public Object getName() { return name; } public void set...

2019-04-26 00:41:51 133

原创 java基础一(可变参数,forEach增强for循环, 静态导入)

1.可变参数add("test",1,2,3,5,4,5);public static void add(String data, int ... num) { System.out.println(data+ "," + num);}2.增强for循环int [] arr = new int[]{1,2,3,5,4,5,6};for(int val : arr) { Syst...

2019-04-25 23:03:30 139

原创 想模仿sc写个小程序(二)引入amd模式的require进行前端模块化管理及在前端引入js文件问题

1.引入require.js去github上下载源码。2.在前端head标签中引入script会先阻塞ui线程知道js加载完,才会渲染dom3.这样写。4.在程序入口个main.js中不能用define要用require([],function(){});5.let dom = this.$refs.myEdit; 这种方式可以在vue中获取dom元素。...

2019-04-21 16:12:02 225

原创 想模仿sc写个小程序(一)jsp页面中的部分知识点:

知识点:在jsp页面中 可以使用<%@ page import="java.util.HashMap" %><%@ page import="java.util.Map" %> //这样就可以像 在java代码中引入包一样 <%%>//这样可以在 这个块中写java代码<%=%>//这样可以将java变量嵌套到jsp页面中...

2019-04-14 23:09:36 183

原创 ecma6学习知识点(十四)数字变化和Math新增的东西

数值的变化二进制binary : let a = 0b 010101; console.log(a); 输出21八进制octal:let a = 0o666;console.log(a);十六进制#ccc;Number.isNaN(a); //输入 NaN结果为trueNumber.isFinite();//判断是不是数字Number.isInteg...

2019-04-13 22:31:50 103

原创 ecma6学习知识点(十三)set和weakset map和weakmap

set 数据结构 用法new Set([“a”.“b”]);类似数组,但是里面不能有重复值,如果有的话后面的就不会有 let setAarr = new Set(['a','b','c']); console.log(setArr); //输出 {"a","b","c"}setArr.add(“f”);setArr.delete(“f”);//也可以这样添加和删除setA...

2019-04-13 10:40:34 106

原创 ecma6学习知识点(十二)async

async 函数用来处理异步问题async function fn(){ let result = await XXX //表示后面结果需要等待}async特点: 1.await只能放到async函数中。 2.相比genrator语义化更强。 3.await后面可以是promise对象,也可以是数字、字符串、布尔 4.async函数返回是一个promise对象。 ...

2019-04-12 22:00:41 107

原创 ecma6学习知识点(十一)symbol & generator

Symbol 是一个单独的数据类型定义: let sym = Symbol(“aaa”);console.log(sym)//结果为Sysbol(aaa);typeof sym === symbol注意:1.Symbol不能new2.Symbol()返回是一个唯一值,坊间传说做一个key 定义一些唯一或者私有的东西如 let sym = Symbol(“aaa”);let ...

2019-04-10 23:32:04 120

原创 ecma6学习知识点(十)类和继承

es6之前写一个类是这样写的如下代码function Person(name,age) { this.name = name; this.age = age;}Person.prototype.showName = function(){ return `名字为${this.name}`;}let p1 = new Person("yangrui",18);console...

2019-04-05 16:32:49 132

原创 ecma6学习知识点(九)模块化

模块化注意:要放到服务器环境a)如何定义模块export 东西 , 东西可以使对象就可以b)如何使用import使用模块import: 特点a)import 可以是相对路径,也可以是绝对路径import ‘https//code.jquery.com/jquery-3.3.1.js’;b)import 模块只会导入一次,无论你引入多少次c)import ‘./mod...

2019-04-03 23:23:26 98

原创 ecma6学习知识点(八)promise

Promise解决异步回调问题。 let a =1; let promist = new Promise(function(resolve,reject){ if (a==10) { resolve('成功'); }else{ reject('失败鸟'); } })promise.then(res=>{ console.log(res)},err=&gt...

2019-04-02 22:48:33 96

原创 ecma6学习知识点(七)对象简洁语法及对象新增

对象简洁语法let name = “test”;let age = 18;let json = {“name” : name,“age”: age,“show” : function() {console.log(this.name);}}可改写为let json = {name,age,show(){console.log(this.name);}}2.O...

2019-04-01 23:37:21 147

原创 ecma6学习知识点(六)数组新增的东西

将函数的实际参数转换成数组的方法方法一:var args = Array.prototype.slice.call(arguments);方法二:var args = [].slice.call(arguments, 0);方法三:var args = [];for (var i = 1; i < arguments.length; i++) {args.push(argume...

2019-03-31 20:33:25 86

原创 ecma6学习知识点(五)数组循环

循环的函数1.forfor(let i =0; i< arr.length; i++)2.whilearr.forEach();回调函数的参数为 val,index,arr可以用bind(document);可以将this指向某对象。如document;arr.map(); 返回一个对象 可以重组数据arr.map(function(val,index,arr){re...

2019-03-31 19:59:40 96

原创 ecma6学习知识点(四) 函数默认参数,箭头函数,剩余参数

1.函数默认参数function show({a=0,b=0}={}){console.log(a,b);}可以这样调用 show({x:"",}) //输出“”,0也可以这样调用 show(a=“11”,b=“aa”) {} show(“df”,)都可以。2.在函数 参数中已经定义的不能再在函数体中定义了。function(a,b){let a = “sdf”;}这样...

2019-03-28 23:16:30 100

原创 ecma6学习知识点(三)字符串模板及字符串新增

1.用表示字符穿模板 例如 : let name = ”yangr“ let word = `woshi ${name}`; console.log(word); //将会输出 woshi yangr 2.字符串模板可以随意换行,可以用于动态添加元素不用长的拼接字符串了。3. includes() 方法let aaa = “apple sdfdsfdsf”;aaa.includes(“a...

2019-03-28 22:00:59 99

原创 ecma6学习知识点(二)解构赋值

let [a,b,c] = [1,2,3]; 左右要求结构一致console.log(a,b,c) ;如 let [a,[b,c]] = [1,[2,3]];2.解析jsonlet json = {name:"",age: “”,time: “”}let {name,age,time} = json;console.log(name,age,time)3.起别名let ...

2019-03-27 22:38:04 89

原创 ecma6学习知识点(一)let、const、作用域

1.var 定义的变量只有全局作用域和函数作用域,在if for while 里无作用域,即为全局作用域,在方法中作用域为方法体内。2.let定义的变量 在全局,函数体,if for while等有{}的体中都有块级作用域。3.let定义的变量在 let a = 12 ;function test() { console.log(a);//暂时性死区let a =...

2019-03-26 23:15:40 162

原创 前端学习之工具-animate.css,nodejs

在前端学习时往往会用到一些动画类的工具,比如一些动态的页面效果等,在github上 http://daneden.github.io/animate.css 有相关的直接资料,需要用的时候可以去看看...

2019-03-17 21:27:26 193

原创 linux系统的安装及root登陆图形化界面

安装很简单。取ubuntu或者redhat官网下载一个安装文件。 下载一个vmware用来作为容器。点击创建就好。 默认的Ubuntu是不能使用root登陆的。我们如何使用root登陆呢。用以下几句话搞定: 1.sudo passwd root 然后输入自己想设置的密码。 2.设置好密码之后cd /etc/pam.d 编辑gdm-autologin和gdm-password文件,将 au...

2018-07-30 00:35:21 924

原创 jira数据迁移过程

jira数据迁移是常见的软件开发过程中遇到的问题:在数据迁移过程中下面讲解简单的过程: 1.配置好jdk; 2.配置好mysql数据库; 3.配置好jira; 4.在mysql中创建一个数据库,必须在创建时设置好数据库的字符集。为这个数据库创建一个用户。为这个用户赋值远程连接权限。 5.一切配置好之就可以在web页面打开setup页面了。第一步选择好本地的m...

2018-07-30 00:25:01 1885

空空如也

空空如也

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

TA关注的人

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