自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Java集合

常用集合集合类的继承关系集合类的时间复杂度 集合 ArrayList LinkedList 描述 1、可增长的数组长度 2、查询快 get() set() 常数级 3、插入和现有所有项的删除代价昂贵 除非在表的末端 1、双链表 删快 2、...

2019-05-28 09:34:19 71

原创 数据库

Oracle的Rownum和Rowidrownum和rowid都是伪列,但是两者的根本是不同的。rownum是根据sql查询出的结果给每行分配一个逻辑编号,所以你的sql不同也就会导致最终rownum不同。但是rowid是物理结构上的,在每条记录insert到数据库中时,都会有一个唯一的物理记录 。rowid具有唯一性,查询时效率是很高的。ACID原子性(Atomicity)原...

2019-05-13 09:08:55 243

转载 SQL编写题目

用一条SQL 语句 查询出每门课都大于80 分的学生姓名方法1:1、查询出分数小于80的人的名字;2、查询 NOT IN (1);方法2:select name from table group by name having min(fenshu)>80删除掉重复项只保留一条delete from a where id in ( select id fr...

2019-05-10 09:06:56 110

原创 Java基础篇(二)

抽象类和接口抽象类:1、包含一个抽象方法的类就是抽象类2、声明而未被实现的方法,抽象方法必须使用abstract关键词字声明3、抽象类被子类继承,子类(如果不是抽象类)必须重写抽象类中的所有抽象方法4、抽象类不能被直接实例化,要通过其子类进行实例化5、只要包含一个抽象方法的抽象类,该方法必须要定义成抽象类,不管是否还包含有其他方法。6、子类中的抽象方法不能与父类的抽象方法同名。7...

2019-05-10 09:00:59 93

原创 Java基础篇(一)

Servet生命周期●init()在一个Servlet的生命周期中,init方法只会被执行一次。●service()当一个客户请求改Servlet时,实际的处理工作全部有service方法来完成,service方法用来处理客户端的请求,并生成格式化数据返回给客户端。●destory();该方法在整个生命周期中,也是只会被调用一次序列化序列化是为了解决在对对象流进行读写操作时所...

2019-05-07 08:43:42 61

原创 Java JVM 复习

一、JVM1.1 运行时数据区组成●程序计数器当前线程所执行字节码的行号指示器。●虚拟机栈(stack)1、线程私有;2、描述的是java方法执行的内存模型;3、每个方法被执行时会同时创建一个栈帧用来存储局部变量表、操作栈、动态链接、方法出口等信息;4、局部变量表所需的内存空间在编译期完成分配。5、存储速度快,缺点是栈中数据大小和生存期限是固定的。●本地方法栈与虚拟机栈类...

2019-05-06 13:33:35 82

转载 16、Memento 备忘录模式

在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态。我们在编程的时候,经常需要保存对象的中间状态,当需要的时候,可以恢复到这个状态。比如,我们使用Eclipse进行编程时,假如编写失误(例如不小心误删除了几行代码),我们希望返回删除前的状态,便可以使用Ctrl+Z来进行返回。这时我们便可以使用备忘录模式来实现。类图代码...

2019-03-20 17:29:05 42

转载 15、Interpreter 解释器模式

给定一种语言,定义他的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中句子。类图代码示例1. classContext{}2. abstractclassExpression{3. publicabstractObjectinterpreter(Contextctx);4. }5. classTerminalEx...

2019-03-18 12:35:03 55

转载 14、Visitor 访问者模式

封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。类图代码示例访问者模式可能是行为类模式中最复杂的一种模式了。1. classA{2. publicvoidmethod1(){3. System.out.println("我是A");4. }5. ...

2019-03-18 12:19:06 42

转载 13、Mediator 中介者(调停者)模式

用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。类图代码示例我们使用一个例子来说明一下什么是同事类:有两个类A和B,类中各有一个数字,并且要保证类B中的数字永远是类A中数字的100倍。也就是说,当修改类A的数时,将这个数字乘以100赋给类B,而修改类B时,要将数除以100赋给类A。类A类B互相影响,就称为同...

2019-03-18 12:03:45 103

转载 12、Chain of Responsibility 职责链模式

使多个对象都有机会处理请求,从而避免了请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。类图代码示例1. classLevel{2. privateintlevel=0;3. publicLevel(intlevel){4. this.level=le...

2019-03-18 11:50:10 54

转载 10、State 状态模式

当对象的状态改变时,同时改变其行为,很好理解!就拿QQ来说,有几种状态,在线、隐身、忙碌等,每个状态对应不同的操作,而且你的好友也能看到你的状态,所以,状态模式就两点:1、可以通过改变状态来获得不同的行为。2、你的好友能同时看到你的变化。状态模式允许一个对象在其内部状态改变的时候改变其行为。这个对象看上去就像是改变了它的类一样。类图State类是个状态类,Context类可以实现切...

2019-03-18 11:35:57 50

转载 11、Strategy 策略模式

定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。策略模式是对算法的封装,把一系列的算法分别封装到对应的类中,并且这些类实现相同的接口,相互之间可以替换。策略模式与模板模式在前面说过的行为类模式中,有一种模式也是关注对算法的封装——模版方法模式,策略模式与模版方法模式的区别仅仅是多了一个单独的封装类Context,它与模版方法模式的区别在于:在模版方法模式中,调用算法的主体在...

2019-03-06 18:41:26 89

转载 Proxy 代理模式

代理模式的定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。举例说明,就是一个人或者一个机构代表另一个人或者另一个机构采取行动。在一些情况下,一个客户不想或者不能够直接引用一个对象,而代理对象可以在客户端和目标对象之前起到中介的作用。通过上面的代理模式描述我们可以知道,其目的就是为了控制对象引用,生活场景中我们以买车为例,如果我们要买一辆轿车必须通过汽车4S店,汽车4...

2019-03-06 18:14:36 46

转载 9、Command 命令模式

一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。举个例子,司令员下令让士兵去干件事情,从整个事情的角度来考虑,司令员的作用是,发出口令,口令经过传递,传到了士兵耳朵里,士兵去执行。这个过程好在,三者相互解耦,任何一方都不用去依赖其他人,只需要做好自己的事儿就行,司令员要的是结果,不会去关注到底士兵是怎么实现的。类图...

2019-03-06 17:30:59 200

转载 设计模式

创建型模式1、单例模式2、Factory 工厂模式3、Abstract Factory 抽象工厂4、Builder 建造者模式5、Prototype 原型模式行为型模式6、Iterator 迭代器模式7、Observer 观察者模式8、Template Method 模板方法9、Command 命令模式10、State 状态模式11、Strategy...

2019-03-06 17:26:03 54

转载 5、Prototype 原型模式

原型模式被用在频繁调用且极其相似的对象上,它会克隆对象并设置改变后的属性,而且消耗的资源较少。原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件:实现Cloneable接口。在java语言有一个Cloneable接口,它的作用只有一个,就是在运行时通知虚拟机可以安全地在实现了此接口的类上使用clone方法。在java虚拟机中...

2019-03-06 17:15:15 67

转载 4、Builder 建造者模式

建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。建造者模式的关键特性是它将一个建造过程分解成很多步骤,也可以说,每个产品的建造会遵循同样的流程,不过流程内的每一个步骤都不尽相同。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。意图:将...

2019-03-06 17:04:50 258

转载 6、Iterator 迭代器模式

提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。类图代码实例如果要问java中使用最多的一种模式,答案不是单例模式,也不是工厂模式,更不是策略模式,而是迭代器模式,先来看一段代码吧:1. publicstaticvoidprint(Collectioncoll){2. Iteratorit=coll.iterator...

2019-03-05 13:20:56 73

转载 8、Template Method 模板方法

模板方法模式是在日常开发中使用最为广泛的设计模式之一。定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。类图代码实例某日,程序员A拿到一个任务:给定一个整数数组,把数组中的数由小到大排序,然后把排序之后的结果打印出来。经过分析之后,这个任务大体上可分为两部分,排序和打印,打印功能好实现,排序就有点麻烦了。但是A有办...

2019-03-05 13:00:28 92

转载 7、Observer 观察者模式

简而言之,观察者模式=发布者+注册者。观察者模式用来对GUI中的动作做侦听。Swing GUI的例子就表明了动作侦听是怎样实现观察者模式的。定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。在软件系统中经常会有这样的需求:如果一个对象的状态发生改变,某些与它相关的对象也要随之做出相应的变化。比如,我们要设计一个右键菜单的功能,只要在软...

2019-03-05 12:48:13 66

转载 3、Abstract Factory 抽象工厂

抽象工厂模式是在工厂模式的基础上增加的一层抽象概念。如果比较抽象工厂模式和工厂模式,我们不难发现前者只是增加了一层抽象的概念。抽象工厂是一个父类工厂,可以创建其它工厂类。故我们也叫它“工厂的工厂”。类图代码示例interface CPU {void process();}interface CPUFactory {CPU produceCPU(...

2019-03-05 12:39:34 110

转载 2、Factory 工厂模式

工厂模式是根据不同的参数创建对象。例如用工厂创建人。 如果我们想要一个男孩,工厂就会为我们生产一个男孩;如果我们需要一个女孩,工厂则会为我们生产一个女孩。工厂会根据不同的参数,为我们提供不同的物品。实例化对象,用工厂方法代替new操作。定义一个接口来创建对象,但是让子类来决定哪些类需要被实例化。工厂方法把实例化的工作推迟到子类中去实现。工厂模式设计尽量松耦合,一个对象的依赖对象...

2019-03-05 12:32:02 59

转载 1、单例模式

有些对象我们只需要一个,比如:配置文件、工具类、线程池、缓存、日志对象等。单例模式是Java中最常用的设计模式之一,它通过阻禁止外部实例化和修改,对象的方式来控制所创建的对象的数量。这个概念可以被广泛地推广到仅使用有一个现存的对象能更高效运行的系统,或者是限制在若干个对象实例化为特定的数目的高效系统环境系统中。私有构造函数-其他类不能实例化一个新的对象。 私有化引用-不能进行外部...

2019-03-05 12:26:00 45

转载 6个软件原则

单一职责原则,SRP(Single Responsibility Principle)里氏替换原则,LSP(Liskov Substitution Principle)开放-关闭原则,OCP(Open-Close Principle)接口隔离原则,ISP(Interface Segregation Principle)依赖倒置原则,DIP(Dependence Inversion Prin...

2019-03-05 12:17:05 116

转载 虚拟资产与数字确权

从土地确权到数字确权在1978年开始,内部最主要的一个起点,就是土地确权。而现在的一个主要起点,就是数据确权。解决数据确权,将个人层面的数据,进行确权,加密,打包,标价,再建立起来流转市场,改变目前垄断互联网大企业对数据的强取豪夺,是数字经济发展的基石。数字确权,主要是几个方向的发展:第一个是90年代的全球化,导致了全球社会经济活动的相互依赖。第二个是2000年代的互联网,导致了人类社会的...

2019-01-14 16:05:28 234

原创 Java秒杀高并发总结

目录1.CDN静态页面加速2.redis做后端缓存3,执行秒杀:4.瓶颈分析:5.优化分析:6.优化总结秒杀系统优化性能的思路:写入内存而不是写入硬盘,异步处理而不是同步处理、分布式处理。1.CDN静态页面加速2.redis做后端缓存redis优化地址暴露接口引入自定义序列化工具(protostuff)序列化java对象到redis。3,执行秒杀...

2018-12-17 16:34:19 368

原创 建站和带宽知识

目录建站域名申请/空间租用域名与空间的绑定域名/IP备案域名级别域名与IP虚拟主机与VPS一个服务器部署多个网站带宽知识带宽带宽与吞吐量出口带宽独享带宽共享带宽流量响应时间下载速度吞吐率用户平均请求等待时间最大并发用户数、最大并发连接数 建站一个网站最少要包括域名和空间,域名就是我们平时所说的网址,空间则是...

2018-12-17 16:26:06 321

原创 网络分层基础概念(二)

目录传输层TCP协议TCP的RESET报文UDP应用层DHCP网络硬件集线器(Hub)、交换机、路由器区别HTTP协议URI和URL 传输层“包”(Packet)是TCP/IP协议通信传输中的数据单位,一般称为数据包。TCP/IP协议工作在网络层、传输层、应用层。TCP和UDP是TCP/IP协议中的两个传输层协议,它们使用IP路由功能把数据包...

2018-12-17 15:58:15 286

原创 网络分层基础概念(一)

目录TCP/IP物理层节点网络接口(网卡)集线器数据链路层数据帧节点物理地址ARP(Address Resolution Protocol 地址解析协议)网桥交换机VLANVPN网络层IP协议路由器网关路由器与网关DNSARPICMP信令NATIP网络IP隧道隧道技术 TCP/IP...

2018-12-17 15:44:52 1899

转载 float型的内存存储和精度丢失问题

小数的二级制表示十进制整数转化为二进制举个例子,11表示成二进制数:11/2=5  余   15/2=2   余   12/2=1   余   01/2=0   余   10结束 11二进制表示为(从下往上):1011只要遇到除以后的结果为0了就结束了,所有的整数除以2一定能够最终得到0。换句话说,所有的整数转变为二进制数的算法不会无限循环下去,整数永远可以用二进制精确表示 ...

2018-12-04 12:56:48 239

原创 Maven使用遇到的问题总结

●在某一次的开发过程中,发现在pom文件中已经添加好了依赖以及版本号等,可是代码中并不能引用这些依赖。最终还是找到了解决办法:在IDEA中找到MAVEN插件(file->setting->搜索框中输入maven->ignored files),看看有没有把你的pom文件给忽略的,取消掉即可。●多modules项目,新项目建立进行运行/打包的时候,出现如何解决Maven: Fa...

2018-10-21 15:25:50 77

转载 同余模运算

模运算模运算即求余运算:在数学中用符号 mod 表示。模 p 运算的定义如下:给定一个正整数 p,任意一个整数 n,一定存在等式:n=kp+r(k、r 是整数,且 0<=r < p),称 k 为 n 除以 p 的商,r 为 n 除以 p 的余数,记着:r=n mod p。 针对模 p 运算,可以数环来理解:一个圆环有 p 米,并标刻度:0,1,…,p-1: ◆k=n/p:表...

2018-10-10 14:33:47 280

转载 JS 变量提升

Javascript 是一种弱类型、动态的、解释型的脚本语言。弱类型:类型检查不严格,偏向于容忍隐式类型转换。强类型:类型检查严格,偏向于不容忍隐式类型转换。动态类型:运行的时候执行类型检查。静态类型:编译的时候就知道每个变量的类型。解释型:程序不需要编译,程序在运行的时候才翻译成机器语言,每执行一次都要翻译一次,因此效率比较低,但是跨平台性好。编译型:程序在执行之前需要一个专门的翻...

2018-10-09 10:41:50 51

转载 密码技术

密码技术的特性●机密性(信息加密);●完整性(防篡改,验证数据完整性);●认证(防止伪装者,验证身份);●不可否认性(放置抵赖)。关于Base64BASE64 只是一种编码方式,本质上其实和 ASCII 和 UTF-8 编码类似,主要用途就是将不可打印的二进制数据编码为可打印的字符串,它并不具备以上密码技术的四个特性中的任何一个。对称加密对消息加密和解密使用相同密钥的加密...

2018-10-08 17:33:07 432

转载 谈EOS的问题

中本聪,在比特币系统起来的时候,他是假定系统面临最恶劣的环境。所以责任上是分布到每个小节点,而且留了60分钟给系统重新整合共识。虽然后来cpu,gpu,fpga,asic一直到大矿池,但是这是一个市场上不断试错,通过各种擂台打出来的结果,系统变得很强劲和稳定。eos的一上来就安排21个超级节点,已经把系统责任太多的集中在少数人身上。而这些靠钱来决定的少数人,有无技术保证,更为信念加持,大多为唯...

2018-09-16 18:02:32 171

转载 美国SEC对虚拟币的态度

美国证监会,就是sec要出一个关于代币的政策,把代币区分为证券类和使用类。任何代币,如果被定义为证券类就算非法。那么使用类,就要看情况,比如你有了应用平台,用户来用,你肯定要给人家提供一个购买通证的地方,这样人家才可以用你的服务。但是如果你没有平台产品,但是已经在各大知名交易所交易了,而且你自己的白皮书,电报群都在谈要上哪个哪个大交易所,还有价格预期,那么也会考虑你是事实上的证券类。比...

2018-09-16 17:55:16 604

转载 墨客新物语

墨客新物语之一。在2008年比特币横空出世之后,其依靠的底层区块链技术受到了大家的重视。在我看来,区块链最重要的组成有两个。一个在技术上是采取了去中心化账本(decentralized ledge),另一个在经济上,采取了通证刺激(token incentive)。而自然就有些人,对这个珠链币合的状态进行切割。第一批人,是R3联盟和超级账本,要搞无币无通链。当然今年1月,IBM无奈已经跳船,也要搞...

2018-09-13 16:37:17 85

转载 墨客 去中心化平台的商业逻辑

区块链的商业逻辑,如果你是一个商业用户,你想落实自己的一个区块链,你怎么办?基本上,就是你找一个技术团队,到github上面,把比特币,以太坊或者fabric的软件拿下来,然后购买虚拟服务器,或者实际硬件,然后争取跑起来,那么这个过程非常复杂,对技术团队要求很高,钱也花很多,那么很多云服务商,比如微软,亚马逊,阿里,百度,加上腾讯和华为,都想做这个服务商,就是把上面讲的整个过程,用工具给你auto...

2018-09-13 15:51:43 391

转载 矿机经济学

现在所有依靠pow作为底层共识的,其实都会面临两个问题:第一个,就是矿池带来的矿机集中化;第二个,就是矿机的数目上限,受到矿机经济学的限制。矿机经济学,就是你在买矿机挖矿的时候,必须自己算一笔账,矿机的价格、电费、管理成本附加费、算力和难度决定的挖矿产出、产出的代币的价格。理论上讲,如果一个平台上面应用多和使用用户多,会对币价有提升作用,但是没有明显强相关,所以当你决定不买矿机来挖矿的...

2018-09-13 15:42:25 91

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