- 博客(45)
- 资源 (1)
- 收藏
- 关注
原创 SpringCloud 微服务学习和设计
SpringCloud是目前使用范围最广的微服务产品,相关介绍就不在我的博客详细说明了,这里介绍一下比较常用的组件及组件的设计。Eureka: 微服务的注册中心,所有的微服务组件都必须通过微服务注册中心注册,注册成功后其它微服务可以通过微服务的名称找到对应微服务下的服务地址和端口号,进而实现通过服务名称访问服务。此处的服务更是可以部署多个,通过服务名称访问时会自动负载均衡。EurekaClient: 所有微服务都必须实现的组件,用于注册到Eureka中心。Fegin: 微服务之间的调用组件,可通过此组
2020-07-13 16:10:48
230
原创 Mysql 并发、锁、MVCC机制感悟
一、事物隔离级别Mysql 为了保证高并发数据的准确性,提出了事物的隔离性质,不同事物的隔离性质导致数据的读取方式发生改变,目前有如下四种隔离级别:目前序列化表示任何sql语句都会加锁,属于单线程工作,除特殊用途,并不推荐使用。下面是常见的3种事物隔离机制读未提交事物A能读到B事物未提交的更改,实则1读到的数据为2更改的数据,但事物B回滚,事物A所读到的是脏数据。读已提交事物A只能读取到B提交的数据,1≠2,但3=2,此时在同一个事物不可重复读取。同时2会对数据增加排他锁,导致3阻塞。可重
2020-07-04 15:33:52
253
原创 对于ip和域名的一点思考
前奏:以往所知到的ip需要和域名进行绑定,在dns服务器上相应的域名就可以被解析成ip然后选择去哪个主机访问,比如www.baidu.com,最终访问119.75.218.70这个ip,ip为主机的唯一识别码。问题:如果在服务器上发布两个项目,这两个项目共用一个端口号,怎么办?解决思路可以配置不同的路径,来获取不同的服务发现:服务器的配置,比如apach服务器,会解析访问的域名,来访问不同路径下的项
2017-02-19 10:55:09
413
原创 Android关于dp和px的一点思考
Android关于dp和px的一点思考dp定义:单位距离内px的个数 手机中的px:代指手机分辨率,比如1024*768 1080P 2K 手机中的dp:可以形象的理解为每部手机的长为多少dp,宽为多少dp引入dp而不使用px原因:在于手机差异较大,分辨率有千倍的差距,反而dp的差异较小,所以以dp作为手机长度单位较为合适。
2017-02-19 10:47:05
311
原创 Android控件测量生命周期
Android控件测量生命周期先帖图结论setMeasuredDimension表示向父控件表明自己的大小,所以View只用在乎根据自己的内容给出大小给父控件。measureChild是父控件需要通过子控件的大小来调整自己大小的依据,该方法最终会调用子控件的onMeasure方法。只有当控件执行了onMeasure方法,getMeasureHeight和getMeasureWidth才会有效,
2016-09-22 16:07:26
437
原创 Android事件传递
Android事件传递界面框架正常事件传递(触摸Liner2)onInterceptTouch 事件下发传递:false表示事件传递,true表示事件被截断并在当前控件消费 onTouch触摸事件:事件反向传递(后面称为事件回传),false表示事件传递下去,true表示事件被当前消耗此时事件只有ActionDown 行为的传递和消费,没有其他行为OnTouch事件截断此时ActionDo
2016-09-21 14:12:26
342
原创 JAVA学习--枚举类的使用
* 一、枚举类 * 1.如何自定义枚举类 * 2.如何使用enum关键字定义枚举类 * >常用的方法:values() valueOf(String name) * >如何让枚举类实现接口:可以让不同的枚举类的对象调用被重写的抽象方法,执行的效果不同。(相当于让每个对象重写抽象方法)//普通枚举类class Season{ //1.提供类的属性,声明为pr
2015-01-30 19:20:51
446
原创 JAVA学习--泛型的使用
*泛型的使用 *1.在集合中使用泛型(掌握) * 2.自定义泛型类、泛型接口、泛型方法(理解--->使用) * 3.泛型与继承的关系 * 4.通配符 * ----------------------------------------------------------------------------------------------------------//
2015-01-30 19:20:48
303
原创 JAVA学习--Collections集合工具类…
*操作Collection以及Map的工具类:Collections-------------------------------------------------------------------------------------------------------------- * reverse(List):反转 List中元素的顺序 shuffl
2015-01-30 19:20:46
321
原创 JAVA学习--集合Map的使用
* Map接口 * |-----HashMap:Map的主要实现类 * |-----LinkedHashMap:使用链表维护添加进Map中的顺序。故遍历Map时,是按添加的顺序遍历的。 * |-----TreeMap:按照添加进Map中的元素的key的指定属性进行排序。要求:key必须是同一个类的对象! *
2015-01-30 19:20:43
364
原创 JAVA学习--集合Set使用
* Collection接口: * |------List接口: * |------ArrayList(主要的实现类)、 * |------LinkedList(对于频繁的插入、删除操作)、 * |------Vector(古老的实现类、线程安全的,但效率要低于ArrayList) *
2015-01-30 19:20:41
280
原创 JAVA学习--集合的遍历
@Test public voidtestFor3(){ String[] str = newString[]{"AA","BB","DD"}; for(String s : str){ s = "MM";//此处的s是新定义的局部变量,其值的修改不会对str本身造成影响。 System.out.prin
2015-01-30 19:20:38
257
原创 JAVA学习--ArrayList使用方法:Lis…
ArrayList:List的主要实现类 * List中相对于Collection,新增加的方法 * void add(int index, Objectele):在指定的索引位置index添加元素ele boolean addAll(int index, Collection eles) Object get(int index):获取指
2015-01-30 19:20:35
387
原创 JAVA学习--异常Exception的处理
* 二、如何处理Exception的异常 * Java提供的是异常处理的抓抛模型 *1."抛":当我们执行代码时,一旦出现异常,就会在异常的代码处生成一个对应的异常类型的对象,并 * 将此对象抛出。(自动抛出 / 手动抛出) * >一旦抛出此异常类的对象,那么程序就终止执行 * >此异常类的对象抛给方法的调用者。 * 2."抓":抓住上一
2015-01-30 19:20:33
659
原创 JAVA学习--异常Exception
一、异常的体系结构 * java.lang.Throwable * |-----Error:错误,程序中不进行处理 * |-----Exception:异常,要求在编写程序时,就要考虑到对这些异常的处理 * |-----编译时异常:在编译期间会出现的异常(执行javac.exe命令时,出现异常) *
2015-01-30 19:20:30
314
原创 JAVA学习--匿名类的使用
public class TestProduct { publicstatic void main(String[] args) { TestProduct t = new TestProduct(); //方式一:创建一个实现Product接口的类的对象,并将此对象传入方法中 NoteBook n = new NoteBook();
2015-01-30 19:20:28
353
原创 JAVA学习--局部内部类的使用
public class TestInnerClass1 { }class OuterClass{ //局部内部类 //如下的使用方式较少 public voidmethod1(){ class InnnerClass{ } } //常常使用一个方法,使其返回值为某个
2015-01-30 19:20:25
289
原创 JAVA学习--内部类
* 类的第5个成员:内部类 * 1.相当于说,我们可以在类的内部再定义类。外面的类:外部类。里面定义的类:内部类 * 2.内部类的分类:成员内部类(声明在类内部且方法外的) vs 局部内部类(声明在类的方法里) * 3.成员内部类: * 3.1是外部类的一个成员:①可以有修饰符(4个)②static final③可以调用外部类的属性、方法 *
2015-01-30 19:20:23
281
1
原创 JAVA学习--接口的应用:工厂方法的…
public class TestFactoryMethod { publicstatic void main(String[] args) { IWorkFactory i = new StudentWorkFactory(); i.getWork().doWork(); IWorkFactory i1 = new Te
2015-01-30 19:20:20
318
原创 JAVA学习--接口的应用:代理模式
public class TestProxy { publicstatic void main(String[] args) { Object obj = new ProxyObject(); obj.action(); }}interface Object{ voidaction();}//代理类class ProxyObj
2015-01-30 19:20:17
302
原创 JAVA学习--接口的应用
public class TestUSB { publicstatic void main(String[] args) { Computer com = new Computer(); com.doWork(new Printer()); Flash f = new Flash(); com.doWork
2015-01-30 19:20:15
364
原创 JAVA学习--接口使用方法2(接口间…
//接口与具体的实现类之间也存在多态性public class TestInterface { publicstatic void main(String[] args) { Duck d = new Duck(); TestInterface.test1(d); TestInterface.test2(d);
2015-01-30 19:20:12
296
原创 JAVA学习--模板方法设计模式
public class TestTemplate { publicstatic void main(String[] args) { new SubTemplate().spendTime(); }}abstract class Template { publicabstract void code(); public voidsp
2015-01-30 19:20:10
277
原创 JAVA学习--接口使用方法
* 接口(interface) 是与类并行的一个概念 *1.接口可以看做是一个特殊的抽象类。是常量与抽象方法的一个集合,不能包含变量、一般的方法。 * 2.接口是没有构造器的。 * 3.接口定义的就是一种功能。此功能可以被类所实现(implements)。 * 比如:class CC extends DD implements AA *4.实现接口的类,必须要重写其中的所有的抽象方
2015-01-30 19:20:07
305
原创 JAVA学习--Abstract使用字段限制
//abstract 不能用来修饰属性、构造器、private、final、staticpublic class TestAbstract1 { }abstract class A1{ //abstractint name; //因为构造器不能被重写// publicabstract A1(){// // } //子类不能
2015-01-30 19:20:05
782
原创 JAVA学习--Abstract使用方法
* abstract:抽象的,可以用来修饰类、方法 * * 1.abstract修饰类:抽象类 * 1)不可被实例化 * 2)抽象类有构造器 (凡是类都有构造器) * 3)抽象方法所在的类,一定是抽象类。 * 4)抽象类中可以没有抽象方法。 * * 2.abstract修饰方法:抽象方法 * 1)格式:没有方法体,包括{}.如:public abstract voideat()
2015-01-30 19:20:02
400
原创 JAVA学习--final用法
* final:最终的 ,可以用来修饰类、属性、方法 * *1.final修饰类:这个类就不能被继承。如:String类、StringBuffer类、System类 * * 2.final修饰方法:不能被重写。如:Object类的getClass() * *3.final修饰属性:此属性就是一个常量,一旦初始化后,不可再被赋值。习惯上,常量用大写字符表示。 * 此常量在哪里赋值:
2015-01-30 19:19:59
273
原创 JAVA学习--toString和equals用法
public class TestEquals { publicstatic void main(String[] args) {// TestEquals t = new TestEquals();// t.test1(); //equals(): //①只能处理引用类型变量②在Object类,发现equ
2015-01-30 19:19:57
316
原创 JAVA学习--多态使用的一个例子
public class TestAnimal { publicstatic void main(String[] args) { TestAnimal t = new TestAnimal(); t.func(new Animal()); t.func(new Dog()); t.func(new Cat
2015-01-30 19:19:54
355
原创 JAVA学习--面向对象的特征三:多态…
* 面向对象的特征三:多态性 * 1.多态性指的是什么?多态性,可以理解为一个事物的多种表型形态。 * 1)方法的重载与重写 2)子类对象的多态性 * * 2.子类对象的多态性使用的前提:①要有类的继承②要有子类对父类方法的重写 * * 3.程序运行分为编译状态和运行状态。 * 对于多态性来说,编译时,"看左边",将此引用变量理解为父类的类型 * 运行时,"看右边",
2015-01-30 19:19:52
300
原创 JAVA学习--子类对象实例化的全过程
public class TestDog { publicstatic void main(String[] args) { Dog d = newDog(); d.setAge(10); d.setName("花花"); d.setHostName("小明"); System.out.println("
2015-01-30 19:19:49
586
原创 JAVA学习--面向对象的特征二:继承…
* 一、面向对象的特征二:继承性 * 1.为什么要设计继承性? * * 2.通过"class A extends B"类实现类的继承。 * 子类:A 父类(或基类 SuperClass):B * * 3.子类继承父类以后,父类中声明的属性、方法,子类就可以获取到。 * 明确:当父类中有私有的属性或方法时,子类同样可以获取得到,只是由于封装性的设计,使得子类不可以直接
2015-01-30 19:19:46
285
原创 JAVA学习--super使用
/* * super:可以用来修饰属性、方法、构造器 * *1)当子类与父类中有同名的属性时,可以通过"super.此属性"显式的调用父类中声明的属性. * 若想调用子类的同名的属性“this.此属性” * *2)当子类重写父类的方法以后,在子类中若想再显式的调用父类的被重写的方法,就需要使用“super.方法” * *3)super修饰构造器:通过在子类中使用“super(
2015-01-30 19:19:44
356
原创 JAVA学习--方法的参数传递
* 方法的参数传递(重点、难点) * 1.形参:方法声明时,方法小括号内的参数 * 实参:调用方法时,实际传入的参数的值 * * 2.规则:java中的参数传递机制:值传递机制 * 1)形参是基本数据类型的:将实参的值传递给形参的基本数据类型的变量 * 2)形参是引用数据类型的:将实参的引用类型变量的值(对应的堆空间的对象实体的首地址值)传递给形参的引用类型变量。
2015-01-30 19:19:41
280
原创 JAVA学习--可变个数的形参的方法
* 可变个数的形参的方法: * 1.格式:对于方法的形参: 数据类型 ... 形参名 * 2.可变个数的形参的方法与同名的方法之间构成重载 * 3.可变个数的形参在调用时,个数从0开始,到无穷多个都可以。 * 4.使用可变多个形参的方法与方法的形参使用数组是一致的。 * 5.若方法中存在可变个数的形参,那么一定要声明在方法形参的最后。 * 6.在一个方法中,最多声明一个可变个数的形参。
2015-01-30 19:19:39
344
原创 JAVA学习--面向对象思想的落地法则
* 面向对象思想的落地法则一: * 1.设计类,并设计类的成员(成员变量&成员方法) * 2.通过类,来创建类的对象(也称作类的实例化) * 3.通过“对象.属性” 或“对象.方法”来调用,完成相应的功能 * * 二、创建的多个对象,彼此各自拥有一套类的属性。当对其中一个对象的属性进行修改时, * 不会影响到其他对象的属性值。 * * 三、类的属性(成员变量) * 成员变量
2015-01-30 19:19:36
320
原创 JAVA学习--方法的重载
* 方法的重载(overload) * 要求:1.同一个类中 2.方法名必须相同3.方法的参数列表不同(①参数的个数不同②参数类型不同) * 补充:方法的重载与方法的返回值类型没有关系!public class TestOverload { }class OverLoad{ //定义两个int型变量的和 public intgetSum(int i,in
2015-01-30 19:19:34
266
原创 JAVA学习--ArrayUtil的创建和使用
public class ArrayUtil { //求数组的最大值 public intgetMax(int[] arr) { int max = arr[0]; for (int i = 1; i if (max max = arr[i]; }
2015-01-30 19:19:31
500
原创 CSS样式表初始化代码
CSS为什么要初始化?建站老手都知道,这是为了考虑到浏览器的兼容问题,其实不同浏览器对有些标签的默认值是不同的,如果没对CSS初始化往往会出现浏览器之间的页面差异。当然,初始化样式会对SEO有一定的影响,但鱼和熊掌不可兼得,但力求影响最小的情况下初始化。最简单的初始化方法就是: * {padding: 0; margin: 0;}。有很多人也是这样写的。这确实很简单,但有人就会感到疑问:*
2015-01-30 19:19:29
279
原创 HTML中引入CSS的方法
在HTML中引入CSS的方法主要有四种,它们分别是行内式、内嵌式、链接式和导入式。1.行内式 行内式是在标记的style属性中设定CSS样式。这种方式没有体现出CSS的优势,不推荐使用。2.嵌入式 嵌入式是将CSS样式集中写在网页的标签对的标签对中。格式如下: ...此处写CSS样
2015-01-30 19:19:26
365
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人