这样将功能的定义与实现分离,优化了程序设计。 格式 与定义类的class不同,接口定义时需要使用interface关键字。...定义接口所在的仍为.java文件,虽然声明时使用的为interface关键字的编译后仍然会产生.class文件。这点可以让我们将接口看做是一种只包含了功能声明的特殊类。...例如: package com.itlishan_01; /* * Java语言的继承是单一继承,一个子类只能有一个父类(一个儿子只能有一个亲爹) * Java语言给我们提供了一种机制,用于处理继承单一的局限性的...2.对外提供规则(USB接口) 3.降低了程序的耦合性(可以实现模块化开发,定义好规则,每个人实现自己的模块,提高了开发的效率) 接口和抽象类的区别 1.共性: 不断的进行抽取,抽取出抽象的,没有具体实现的方法...} ); } public static void method(Animal a) { a.eat(); } } 发布者:全栈程序员栈长
Executor框架提供创建线程池的方法ThreadPoolExecutor,该方法有以下这些重要参数:
从上到下分别是: 应用层,表示层,会话层(Session),运输层,网络层,数据链路层,物理层
****************************** Java ****************************** Java 1.8 新特性 --》允许接口,实现默认方法,...HeapDumpPath : 快照保存路径 DisableExplicitGC : 禁止 system.gc() 一、JVM内存区域: 1.程序计数...:正在执行的字节码指令的地址,线程独立保存私有的程序计数器,用于线程之间的切换。...*局部变量数组和操作数堆栈的大小是在编译时确定的,并与框架相关联的方法的代码一起提供。 *如果一个frame的方法调用另一个方法,或者该frame的方法完成,则该frame将停止为当前帧。...#内存的实现:【内存的分配与具体的使用的回收器相关,与G1分配略有不同】 如上所述,在给对象分配内存时,如果在shareeden中分配,则在PSYoungGen的 _edenspace
Java8已经出来好久了,然后我们平时工作中也遇到了好多的关于时间转换的问题,基本上就是需要的时间看一看源码,然后拿来直接用,其实真正理解的并不多。...这里请注意,Java8的LocalDate是线程安全的是因为它没有提供set方法,也就意味着一旦创建就不能修改值。而Date方法则提供了set方法 ?...chrono包,这是一个日历相关的包,A calendar system, used to organize and identify dates 代码注释已经说明了 ?...LocalDate和ThaiBuddhistDate都是Temporal的子类 format包,这是一个用于格式化和解析的包,不过我们不会经常用它,LocalDate类本身已经提供了相关操作 temporal...也可以自己自定义格式 5.取相关的日期 ? 6.取具体时间 ? 7.时间比较 ? ?
Effective Java 中文第二版: Java并发编程实践: Java核心技术(原书第8版)卷I_基础知识: Java核心技术(原书第8版)卷II_高级特性: 深入理解Java虚拟机 JVM高级特性与最佳实践...: Java虚拟机规范 Java SE 8版: Netty权威指南: Apache_HttpClient4.x简明教程高清PDF版: TCP-IP详解(卷一、二、三):一 Java并发编程实践(全):...Spring源码深度解析: Java NIO 中文版: 设计模式之禅: 大话设计模式: 大型网站技术架构:核心原理与案例分析:
垃圾回收之垃圾标记算法 对象被判定为垃圾的标准: 该对象没有被其他对象引用 判定对象是否为垃圾的算法: 引用计数算法,优点:执行效率高,程序执行受影响较小;缺点:无法检测出循环引用的情况,容易导致内存泄露...---- Java垃圾回收之新生代垃圾收集器 在了解垃圾收集器之前,我们需要知道一个概念“Stop-the-World”: 该单词的含义即:JVM由于要执行GC而停止了应用程序的执行 并且任何一个GC算法中都会发生...; import java.lang.ref.ReferenceQueue; import java.lang.ref.WeakReference; import java.util.ArrayList...static ReferenceQueue queue = new ReferenceQueue(); /** * 检查引用队列里有没有引用对象,有的话则打印相关信息...而当GC执行之后,引用队列中就被添加了与之相关联的引用对象,所以就能够打印出引用对象的相关信息 ---- GC相关参考文章: JVM层GC调优(上) JVM层GC调优(下)
参考博客:https://blog.csdn.net/sinat_32238399/article/details/80512452
接口中的方法是抽象方法,抽象不能有方法体,并且接口中的方法默认的访问修饰符为public abstract 3、JDK1.8中,接口中的方法可以被default和static修饰,但是被修饰的方法必须有方法体 4、java
JAVA相关编译知识 总览 语言进化史 整体流程 编译器整体流程 词法分析 语法分析 语义分析 中间代码生成 目标代码生成器 代码优化 编译相关知识 编译种类 热点探测技术 编译什么 什么时候进行检测...对应于java来说就是java文件。 词法分析 将java源程序按照不同类别输出成不同的token。...目标代码生成器 主要作用: 1.目标代码生成以源程序的中间表示形式作为输入,并把它映射到目标语言。 2.目标代码生成是为了程序程序中使用的变量合理分配寄存器。...而java中大多数都是虚方法在运行期间才可以确定调用方法的版本,c和c++都是给方法默认加上final关键字来保障可以内联。 因此针对虚方法也要进行相关内联的操作需要进行额外的操作。...五,隐性异常消除:代码优化减少判空等操作,对于发生异常的时候虚拟机会注册一个异常(进程相关的异常)当碰到java代码异常的时候从用户态切换到内核态查找之前注册的异常在进程异常表中位置并进行相应处理,处理完之后在切换到用户态进行处理
微信小程序介绍 什么是小程序?...开发门槛低, 成本低 相关资料 1) 官网:微信公众平台 第一个小程序 开发小程序的第一步,你需要拥有一个小程序帐号,通过这个帐号你就可以管理你的小程序。...在这个小程序管理平台,你可以管理你的小程序的权限,查看数据报表,发布小程序等操作。 登录 小程序后台 ,我们可以在菜单 “开发”-“开发设置” 看到小程序的 AppID 了 。...一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下: 文件 必需 作用 app.js 是 小程序逻辑 app.json 是 小程序公共配置 app.wxss 否 小程序公共样式表 一个小程序页面由四个文件组成...页面配置 page.json 这里的 page.json 其实用来表示 pages/logs 目录下的 logs.json 这类和小程序页面相关的配置。
背景 资源冲突 Java本身是支持多线程的,而在多线程的情况下,为了防止 多个任务同时访问同一个资源而导致的冲突问题,所以出现了加锁机制。...所以Java提供了关键字 synchronized ,为防止资源冲突。当任务希望执行被synchronized 关键字保护的代码片段时,Java 编译器会生成代码已查看锁是否可用。...修饰一个类 结论: 线程交替执行 同时执行类中修饰过的静态方法和没修饰过的 **结果:**线程交替执行 同时执行类中修饰过的静态方法 结论: 线程按序执行 参考: Java编程思想-并发底层原理
什么是线程:即程序的执行路径, 再回答多线程:多线程就是一个程序中有多条不同的执行路径; 多线程优点一句话;一种提升效率的技术 为什么不用Mybatis 逻辑分页?
判断该进行哪个线程最占用cpu,目的是找到哪个方法栈最占用cpu 找到线程pid后,进行16进制转换 然后用jstack 进程id | grep 线程id 来打印栈信息,可以找到哪个类或方法占用了最高cpu,就可以去查程序代码的原因
StringBuilder 是 非线程安全的, append完成才返回完整的 final String
其他域名访问都会跳到错误页面 跨域问题解决方案 首先常用方法,添加请求头head,可以设置哪些域名允许跨域 jsonp,前端技术,只支持get求情 使用网关,像nginx 使用httpClient转一道,rpc调用 java...支持更丰富的数据操作,list,set,zset,string,hash redis可持久化数据 强引用,软引用,弱引用,虚引用 强引用 最普遍引用,对象引用存在永远不会被垃圾收集器回收 软引用和内存相关
id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> name="jndiName" value="java.../jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd"> id="dataSource" jndi-name=" java...Hashtable 继承自Dictionary 类,而HashMap 是Java1.2 引进的Map interface 的一个实现。...这么做的结果就是当你不需要同步时,你不能切断Hashtable中的同步(比如在一个单线程的应用程序中),而且同步增加了很多处理费用。...,却给我们编码,读程序时带来麻烦。
数组式 import com.sun.corba.se.impl.orbutil.graph.Node; import com.sun.corba.se.spi...
常用的日志框架 Java Logging API(Oracle)—— Java默认的日志框架 Log4j(Apache)——开源日志框架 Logback(Logback Project...原因:a — System.out 是一个直接和控制台打交道的PrintStream对象,是终端显示的基础,调试简单的程序是比较不错的选择 b — System.out 不是一个日志系统...日志输出级别 ERROR 为严重错误 主要是程序的错误 WARN 为一般警告,比如session丢失 INFO 为一般要显示的信息,比如登录登出 DEBUG 为程序的调试信息...SLF4J 对于java后台开发的人员来说self4j肯定不会陌生,如果你还把它当做是日志框架的话,可能不太合理。...7835860 http://blog.sina.com.cn/s/blog_7707993101010hap.html 本文主要是记录最近的学习心得,不合理的地方敬请阅者指点 发布者:全栈程序员栈长
com.cavytech.wear2.entity.BandSleepStepBean; import com.cavytech.wear2.entity.GetSleepBean; import java.text.DateFormat...; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import...java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.HashSet; import...java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; /** * Created...try { date = date_Formater_1.parse(dateStr); return date; } catch (java.text.ParseException
领取专属 10元无门槛券
手把手带您无忧上云