
Java
文章平均质量分 53
浴盆
这个作者很懒,什么都没留下…
展开
-
Java的继承和多态
继承使用extends关键字进行继承,子类天然有父类的属性和方法,子类也可以声明自己的方法和属性。例如一个管理系统,有多种身份:管理员、老板、员工,这十三种身份都需要账号、密码、手机等,这就可以通过继承来实现。通过实现一个系统用户的父类,每一种身份继承系统用户,再新增身份的属性。final关键字修饰的类不能再进行扩展,比如String类。单继承Java中的一个类只能继承自一个类,目的是继承数据。但是一个类可以实现多个接口,有多种方法。当子类和父类有相同方法时,可用super方法,使用父类中的方法什原创 2021-02-19 22:45:17 · 323 阅读 · 0 评论 -
Java中的Map
Map类型LinkedHashMap继承自HashMap,TreeMap继承自SortedMap, HashMap和SortedMap都实现了Map接口。Map的主要方法有remove、size、containsKey、clear、containsValue、putIfabsentMap构造方法不带参数的构造方法,默认长度是16,默认的负载因子是0.75。等同于Map<Integer,String> map = new HashMap(16, 0.75f);超过75的坐标被占用后会进原创 2021-02-19 20:40:12 · 349 阅读 · 0 评论 -
Spring AOP
面向切面编程范式包括面向过程、面向对象、函数式编程、事件驱动编程和面向切面编程。 面向切面(AOP)编程是对面向对象(OOP)的补充,解决某一类特定问题。 面向切面主要要解决的问题是DRY(don’t repeat yourself)和SOC(separation of concerns)关注点分离。 关注点分离既包括横向分离(展示层、服务层、持久层),又包括垂直分离(不同的模块)。面向...翻译 2018-07-27 20:58:35 · 181 阅读 · 0 评论 -
docker入门
添加到网页中将以下代码(也称为“JavaScript 跟踪代码段”)添加到您的网站模板是着手使用 analytics.js 的最简单方法。更多请查阅ga文档 &lt;!-- Google Analytics --&gt; &lt;script&gt; (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){原创 2017-10-12 11:16:16 · 339 阅读 · 0 评论 -
消息中间件
为什么要使用消息中间件消息中间件的最简单例子就是微信公众号,读者只需要订阅作者的文章,在作者每次发表文章之后都会收到推送。作者完全不需要关心读者手机电或者信号不好的情况,只要读者重新连上网络,就可以收到作者的推送。 当我们需要调用多个服务的时候,比如注册的时候想要调用短信服务、积分服务和日志服务,这时候逐个同步去调用就不现实。这时可以通过消息中间件来解决这个问题,注册服务发送消息给消息中间件...原创 2018-09-01 19:50:49 · 184 阅读 · 0 评论 -
分页功能实现
常见的分页功能实现方式常见的分页功能实现方式有这几种使用List接口中的subList(int startIndex, int endIndex) 的方式进行分页。使用数据库SQL语句实现分页(limit)使用hibernate框架等进行跨数据库的分页SQL语句实现从第0条开始取10条数据select * from student limit 0, 10使用hibe...原创 2018-09-01 20:23:57 · 576 阅读 · 0 评论 -
java虚拟机入门
我们可以把java语言、java虚拟机,java API类库这三部分统称为JDK(Java Development Kit),JDK是支持java程序开发的最小环境。可以把java API类库中的java SE API子集和java虚拟机这两部分统称为JRE(Java Runtime Environment), JRE是支持java程序运行的标准环境(java SE支持桌面级应用,java EE支...原创 2018-10-04 09:46:28 · 217 阅读 · 0 评论 -
spring-boot入门
依赖我们使用IDE初始化spring-boot的时候,会发现这两个依赖&amp;amp;amp;lt;artifactId&amp;amp;amp;gt;spring-boot-starter-web&amp;amp;amp;lt;/artifactId&amp;amp;amp;gt; // spring-boot针对web的依赖&amp;amp;amp;lt;artifactId&amp;amp;am原创 2018-10-04 15:53:41 · 253 阅读 · 0 评论 -
spring中的IoC
没有使用maven的时候,我们在项目开始就要下载各种jar包,Spring、mybatis等等。 maven是基于项目对象模型(POM),可以用一小段信息来描述和管理项目构建、报告和文档的软件项目管理工具。 maven项目一般的结构如下所示 src -main -java -package -t...翻译 2018-12-31 20:44:24 · 254 阅读 · 0 评论 -
Java注解
元注解元注解是可以注解到注解上的注解:@Retention当 @Retention 应用到一个注解上的时候,它解释说明了这个注解的的存活时间。它的取值如下: RetentionPolicy.SOURCE 注解只在源码阶段保留,在编译器进行编译时它将被丢弃忽视。 RetentionPolicy.CLASS 注解只被保留到编译进行的时候,它并不会被加载到 JVM 中。 RetentionPoli...翻译 2019-01-02 16:14:08 · 207 阅读 · 0 评论 -
Java向上转型和向下转型
高阶函数定义函数可以作为参数被传递函数可以作为返回值输出(返回一个函数)高阶组件定义高阶组件基本概念(High Order Component,HOC)高阶组件是接收一个组件作为参数并返回一个新组件的函数高阶组件是一个函数,并不是组件高阶组件...翻译 2019-01-13 22:36:04 · 3208 阅读 · 0 评论 -
分布式锁表
当想在机器上部署一个定时任务,而不想在分布式的所有机器上都执行,可以通过一个分布式数据库锁来实现: public ServiceResult<Long> getPartyOrgLock(String type){ ServiceResult<Long> result = new ServiceResult<>(); re...原创 2018-07-27 19:35:35 · 317 阅读 · 0 评论 -
Java-web接口开发
接口返回的Json数据格式如下: {&quot;code&quot;:&quot; &quot;,&quot;msg&quot;:&quot; &quot;,&quot;time&quot;:1464937933230,&quot;object&quot;:{}}Json格式数据中的“code”属性是翻译 2018-07-14 10:31:33 · 2927 阅读 · 0 评论 -
Java-web知识点总结
DNS解析在浏览器输入域名之后,浏览器会先从缓存中寻找域名对应的IP地址。如果没有找到,会在操作系统缓存中寻找是否有对应的IP地址。如果在/etc/hosts文件中设置了IP地址,则会优先使用这个IP。我们在测试时可以将域名指向一台测试服务器。 如果这两个过程无法解析,操作系统会将域名发送给本地区的域名服务器。如果还是没有命中缓存,那么将会请求Root Server的服务器。 可以通过ns...翻译 2018-07-12 18:17:11 · 257 阅读 · 0 评论 -
Java集合
Java集合为了保存数量不确定的数据,以及保证具有映射关系的数据。集合类主要负责保存、承装其他数据,因此集合类也被称为容器类。Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口。 如果访问List集合中的元素,可以直接根据元素的索引来访问。如果访问Map集合中的元素,可以根据每项元素的key来访问其value。如果访问...原创 2018-07-01 19:26:20 · 147 阅读 · 0 评论 -
Java泛型
当把一个对象丢进集合中后,集合就会忘记这个对象的数据类型,再次取出时变成了Object,有可能出现异常。 public class ListErr { public static void main(String[] args) { List strList = new ArrayList(); strList.add(...原创 2018-07-01 21:18:30 · 150 阅读 · 0 评论 -
Java内部类
成员内部类 public class OuterClass { private String name; private int age; public String getName() { return name; } public void setName(String name)...原创 2018-07-03 15:05:12 · 164 阅读 · 0 评论 -
Java异常
RuntimeExceptionJava程序在运行的过程中产生异常,就会中断程序的正常执行,为了保证程序在出现异常时 依然能继续执行,就需要对异常进行处理。异常处理就是当程序运行发生不可预知的错误时, 程序能获得异常并进行处理。 Exception 类:指由程序和外部环境引起的错误,它是可以被捕获且可能恢复的异常情况, 它包括 RuntimeException 类异常与其他 Exceptio...原创 2018-07-03 16:12:36 · 306 阅读 · 0 评论 -
消息服务的生产消费者模式
Java消息服务(Java Message Service,JMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。 JMS规范目前支持两种消息模型:点对点(point to point, queue)和发布/订阅(publish/subscribe,topic)。点对点消息生产者生产消息发送到queue...翻译 2018-07-16 17:55:42 · 833 阅读 · 0 评论 -
Java日志
Log4JLog4J的三个组件:Logger:日志记录器,负责收集处理日志记录 (如何处理日志)Appender:日志输出目的地,负责日志的输出 (输出到什么地方)Layout:日志格式化,负责对输出的日志格式化(以什么形式展现)Loggerlogger可以有选择的启动和禁用日志的输出private static final Logger log = Log...翻译 2018-07-03 20:01:12 · 208 阅读 · 0 评论 -
高可用简介
入口层我们通常会将服务定位在一个IP,如果这个IP对应的服务器当机了,那么用户的访问肯定会中断。例如,机器A 的IP是 1.2.3.4,机器 B 的 IP 是 1.2.3.5, 那么再申请一个 IP 1.2.3.6(称为⼼跳IP), 平时绑定在机器A上,如果A当机,IP会自动绑定在机器B上;如果B当机,IP会自动绑定在机器A上。对于这种形式,我们将DNS绑定到心跳IP上,即可实现入口层的高可用...翻译 2018-07-16 21:28:36 · 289 阅读 · 0 评论 -
Java包管理工具-maven
没有使用maven的时候,我们在项目开始就要下载各种jar包,Spring、mybatis等等。 maven是基于项目对象模型(POM),可以用一小段信息来描述和管理项目构建、报告和文档的软件项目管理工具。 maven项目一般的结构如下所示 src -main -java -package ...翻译 2018-07-11 15:31:41 · 6640 阅读 · 1 评论 -
Java工具类
StringUtilsStringUtils 方法的操作对象是 java.lang.String 类型的对象,是对 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的,除了构造器,StringUtils 中一共有130多个方法,并且都是 static 的,所以我们可以这样调用 StringUtils.xxx()。public static boolean isEm...翻译 2018-07-04 11:42:10 · 150 阅读 · 0 评论 -
Mysql索引
我们都希望查询数据的速度能尽可能的快,因此数据库系统的设计者会从查询算法的角度进行优化。最基本的查询算法当然是顺序查找(linear search),这种复杂度为O(n)的算法在数据量很大时显然是糟糕的,好在计算机科学的发展提供了很多更优秀的查找算法,例如二分查找(binary search)、二叉树查找(binary tree search)等。 索引就是为特定的mysql字段进行一些特定的算...原创 2019-02-12 18:17:55 · 210 阅读 · 0 评论 -
缓存使用
我们一般都会把数据存放在关系型数据库中,不管数据库的性能有多么好,一个简单的查询也要消耗毫秒级的时间,这样我们常说的 QPS 就会被数据库的性能所限制,我们想要提高QPS,只能选择更快的存储设备。(即每秒的响应请求数) 对于缓存来说,数据不常变更且查询比较频繁是最好的场景,如果查询量不够大或者数据变动太频繁,缓存也就是失去了意义。(数据变动频繁要不断让缓存失效) 日常工作使用的缓存可以分为内部...原创 2018-07-11 17:53:20 · 211 阅读 · 0 评论 -
Java反射
很多自动化的功能都是通过反射完成的,这对很多框架是非常重要的,因为很多框架就是做顶层抽象处理公用的逻辑,所以对于实现层的东西是不清楚的,有了反射机制,框架就可以在运行时获取到自己需要的实现层的一些信息 Java的的反射包java.lang.reflect中提供的最常用且重要的几个类就是Field、Method、Constructor这3个类了 Field提供如下几种方法:Class.ge...翻译 2018-07-12 16:57:53 · 209 阅读 · 0 评论 -
Java基础
基本类型Java支持的类型分为两类:基本类型和引用类型。 Java的基本类型分为两类,布尔类型和数值类型。又细分为整数类型、浮点数类型、布尔类型和字符类型。 整型(整数类型)按照值域从小到大分为byte、short、int、long。 字符型使用单引号,使用unicode字符集作为编码方式(支持世界上所有书面语言的字符)。字符串则是引用类型(由String类构造)。 浮点型分成floa...原创 2018-06-30 21:24:45 · 157 阅读 · 0 评论