【Java】DateUtil(2)】的更多相关文章

import java.sql.Timestamp; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date;   import org.apache.commons.lang3.time.DateFormatUtils;     /**  * 日期工具类, 继承org.apache.commons.lang.time.DateUtils类  * @author  * @v…
import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; /** * 日期工具类 默认使用 "yyyy-MM-dd HH:mm:ss" 格式化日期 * */ public final class DateUtils { /** * 英文简写(默认)如:2010-12-01 */ public static St…
一.概述 执行引擎是虚拟机中最核心的部分之一, 虚拟机自己实现引擎,自己定义指令集和执行引擎的结构体系. 二.栈帧 栈帧包含(1)局部变量表.(2)操作数栈.(3)动态链接.(4)方法返回地址.(5)额外的附加信息 栈顶的栈帧为当前栈帧,是唯一有效的. 2.1 局部变量表 用于存放方法参数和方法内部定义的局部变量.单位为槽(Slot),每个槽可以存放一个变量(Boolean,byte,char,short,int,float,reference,returnAddress),lonng,doub…
一.Minor GC.Major GC 和 Full GC Minor GC:清理新生代空间,当Eden空间不能分配时候引发Minor GC Major GC:清理老年代空间 Full GC:清理Java堆空间 二.新生代垃圾收集器 1. Serial 收集器 线程:单线程收集器, 算法:新生代标记复制,老年代标记整理 缺点:在进行垃圾收集时候需要停止所有用户线程(STW) 优点:没有线程交互开销 2. ParNew 收集器 在Serial收集器上进行改进,将GC改成了多线程,其他的包括Seri…
一.程序计数器(Program Counter Register) 当前执行字节码的行号指示器,可以通过修改该计数器的值来实现字节码指令(分支,循环,跳转等), 每个线程都都有一个程序计数器, 属于线程的私有变量, 独立存储, 互不影响. ps. 如果当前执行的是Java方法,该计数器记录的事正在执行的指令地址.如果当前执行的事Native方法(本地方法,与平台有关,由于Java无法访问操作系统的底层信息,所以需要借助C语言,移植平台时候需要重写)该计数器为空. 二.Java虚拟机栈(VM St…
一.InputStream & outputStream Java字节流主要是以InputStream (输入流),outputStream(输出流)为基类,本身是抽象类不能创建实例,但是是字节流的基类,所以方法都可以使用,主要的方法有 InputStream: int read();读取单个字节 int read(byte[] b); 最多读取b.length 字节存储在字节数组b中,返回读取的字节长度 int read(byte[] b, int start, int len);最多读取le…
应用:web后端开发.android-app开发.大数据应用开发 学习:java会过时,但程序设计的思想不会过时 特点:1.面向对象,跨平台,语法比c++简单 2.以字节码的形式运行在虚拟机上 3.自带功能齐全的类库 优点:1.语法相对简单2.有高度优化的虚拟机,一次编写,到处运行,跨平台 缺点:1.不能直接操作硬件(不适合底层操作系统的开发)2.GUI效果不佳 课程体系:JavaSE(standard editon)标准  JavaEE(enterprise editon)企业  JavaME…
重新搞一波 复习巩固 简单记录 慕课网 Java工程师 文章目录 单例概述 设计模式 单例模式(Singleton) 参考资料 单例概述 Singleton Pattern 单例模式是Java中最简单的设计模式之一, 属于创建类型的一种常用的软件设计模式,它提供了一种创建对象的最佳方式. 什么是单例? 单例,就是整个程序有且仅有一个实例. 该类负责创建自己的对象,同时确保只有单个对象被创建.这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象. 设计模式 设计模式(Des…
final: 1.理解:凡是final修饰的东西都具有了不变的特性: 2.修饰对象: 1)final+类--->类无法被继承: 2)final+方法--->方法无法被覆盖: 3)final+变量--->只能被赋值一次: eg:被 final 修饰的引用,由于只能被赋值一次,所以其储存的地址不变,所以它的指向也就不会改变,但不代表其指向的对象内部的数据不会改变: 注意: 被 final 修饰的变量为实例变量时,必须手动初始化(否则报错),不能系统自动赋值了: final 修饰的静态变量一般…
作业要求: 利用" Math.random ( )  "生成随机数的方法来模拟同时摇三个色子获得的点数:点数的多少不同,也会导致不同的输出结果:可适当对程序增添一些更有趣的功能: 作业优化: import java.util.*; public class 摇色子{ static int shu2; static int a, b, c, mo, moo; public static void main(String [] args){ int shu; p("欢迎来到竞技场…
继承(extends): 1.作用:为方法覆盖和多态机制做准备:使代码得到复用(节省代码量): 2.格式: class 子类 extends 父类 3.理解继承:子类继承父类,其实就相当于把父类的类体中的所有代码(除了构造方法)复制,粘贴到子类的类体里: 4.当一个类没有继承父类时,将默认继承object类,object类为Java语言提供的" 祖宗 "类 ":Java中所有类都会直接 / 间接继承object类,因为即使一个类继承了其他父类,但是它的父类或者父类的父类...…
String 特性: 1.String 表示字符串类型,属于引用数据类型,所以其储存的是地址: 2.java 中规定,双引号括起来的字符串是不可变的,也就说" name "永远也只能是" name ",不能改变: 3.由于字符串在使用中过于频繁,所以为了保证执行效率,SUN 公司设定把字符串放到了方法区的字符串常量池中: 4.凡是双引号括起来的,都在字符串常量池中有一份: 注意:字符串变量经过初始化才能使用: String类 构造方法: 1.String str =…
接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的.接口中的方法定义默认为public abstract类型,接口中的成员变量类型默认为public static final.另外, 接口和抽象类在方法上有区别: 1.抽象类可以有构造方法,接口中不能有构造方法. 2.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法. 3.抽象类中可以有普通成员变量,接口中没有普通成员变量 4. 抽象类中的抽象方法的访问类型可以是publi…
1. -Xms20M      JVM启动时候的内存大小为20M   2. -Xmx20M     JVM内存最大值是20M 将其与Xms大小一致可以避免JVM内存自动扩展   3. -Xss128K     表示可以设置虚拟机栈大小为128K   4. -Xoss128K     表示设置本地方法栈的大小为128K(HotSpot不区分虚拟机栈和方法栈)     5. -Xmn20M       表示年轻代的大小为20M   6. -verbose:gc     输出虚拟机中GC的详细使用情况…
封装: 1.目的:保证对象中的实例变量无法随意修改/访问,只能通过我们自己设定的入口,出口(set / get)来间接操作:屏蔽类中复杂的结构,使我们程序员在主方法中关联对象写代码时,思路/代码格式更加清晰: 2.操作:将某些属性私有化(private修饰),再声明相应的 set ,get 方法,这样我们就可以通过 set / get 方法来 修改 / 访问 相应的私有属性了: 嘴上说不如举栗子: class tool{ private int a; private String b; priv…
一.概念 类加载:虚拟机把类的数据从Class文件加载到内存中,并对数据进行校验,转化解析,和初始化,最终形成可以被虚拟机直接使用的Java类型. 二.加载时机 1.加载 加载阶段虚拟机完成的工作为: 1)通过类全限定名来获取定义此类的二进制流. 2)将字节流代表的静态存储结构转化为方法区运行时的数据结构. 3)在内存中生成代表这个类的java.lang.class对象,作为这个类的访问入口. 2.验证 确保Class文件中包含的数据符合当前虚拟机的要求. 1)文件格式 2)元数据 3)字节码…
作业要求: 定义一个名为 MyTime 的类,其中私有属性包括天数,时,分,秒:定义一个可以初始化时,分,秒的构造方法,并对初始化数值加以限定,以防出现bug:定义一个方法,可以把第几天,时,分,秒打印出来:通过定义方法可以分别对时,分,秒进行加运算,要保证天数,时,分,秒间的进制转换无误: 调试:在主方法中创建time对象,同时初始化时,分,秒:再对时,分,秒进行加运算,并将时间结果打印出来: import java.util.*; public class 时间管理 { public sta…
作业要求: 制作一个简易计算器,支持加,减,乘,除,取余五则运算:支持小数运算:一次运行支持无限次运算:可以人为控制程序的结束: import java.util.*; public class 计算器 { public static void main(String[] args){ Scanner s=new Scanner(System.in); double shu1, shu2; int shu3, shu4; do { p("请输入数字1:\n"); shu1=s.next…
面向过程与面向对象: 1.面向过程思想的典型栗子是C语言,C语言实现一个程序的流程是:在主函数中一步一步地罗列代码(定义子函数来罗列也是一样的道理),以此来实现我们想要的效果: 2.面向对象思想的典型栗子是Java语言,Java是一种完全面向对象的语言,它实现一个程序的流程是:事先从我们创建的对象中挑选需要的对象,让他们做出各自的行为,以此来实现我们想要的效果: 3.两者的区别:面向过程思想的耦合性强,扩展性差,这样会导致用面向过程写出来的程序相对于面向对象写出来的程序适用范围小很多:但是对于小…
Java命名规范: 1.包:全部字母小写: 2.类+接口:所有单词的首字母大写: 3.变量+方法:第一个单词的首字母小写,其余单词首字母大写: 3.常量名:所有字母均大写,且用下划线" _ "连接多个单词: JVM内存: 1.栈内存:为所有方法运行时分配内存,为局部变量分配内存: 2.堆内存:为对象级别的类,实例变量分配内存: 3.方法区内存:为".class"字节码,静态变量,静态方法分配内存: 注意:对于栈内存:先分配内存(压栈)的栈底元素后释放内存(弹栈):…
toString: 1.每创建一个类时,都要重写 toString 方法,这是敲代码的基本素养: 2.重写规则:简单明了: 3.String 类中也有toString方法(SUN公司写的): equals: 1.每创建一个类时,都要重写 equals 方法(因为 equals 方法比较的是地址,而我们需要比较对象的内容),这也是敲代码的基本素养: 2.作用:用来比较两个对象是否一致 / 相等: 3.重写规则:看自己的需求(你认为什么东西相等的时,对象相同): 注意:java 中比较基本数据类型大…
数组的静态初始化: 1.一维数组: int [ ] arr = { 1,2,3,4 } ; Object [ ] arr = {   new Object ( ) , new Object ( ) , new Object ( ) , new Object ( )  } ; 注意:声明数组时,当数组元素类型为引用数据类型时,数组中既可以储存此引用数据类型,也可以储存此引用数据类型对应的子类 eg: Object [ ]  arr ={     new 任意类   }   //由于 " Objec…
楔子: 1.集合相当于一个容器,数组虽然也相当于一个容器,但是集合的特性更符合我们日常开发的需求,所以集合的使用更加频繁: 2.集合特性: 1)集合的长度可变,数组一经初始化,长度固定: 2)集合可以储存不同类型的元素,而数组只能储存单一类型元素: 3)集合中的所有元素都是引用数据类型(储存的都是对象的地址),数组既可以储存引用数据类型,也可以储存基本数据类型: 集合主要分为俩大体系--- Collection ,Set,下面的集合继承体系图对集合相关的各个类与接口的特性等内容进行了总结,博主会…
此程序应用了: File 类,及其常用方法: FileInputStream,FileOutputStream类及其常用方法: 递归思维: package com.bjpowernode.javase.io; import java.io.*; public class IOTest { public static void main(String[] args) { //拷贝源路径:...\\pra\\... File srcFile=new File("C:\\java-prictice\\…
一.标记-清除算法 算法主要分为两个步骤 1. 标记: 遍历所有的 GC Roots, 然后标记所有可达对象为存活对象 2. 清除: 遍历堆中所有对象,然后将没有标记的对象清除. 存在不足: 1. 效率低下. 2. 产生大量的磁盘空间 二.复制算法 原理:将磁盘分为一半一半,每次都是用50%内存,在内存用完了, 将这50%内存中存活的对象复制到另外的50%的内存中去.然后将过的空间进行清理. 存在问题: 将空间缩小为原来的一半 优化: 所有新生代的对象存活时间短, 所以每进行一次GC存活的对象很…
作业要求: 利用递归来计算出 从1加到100的数和 : public class 递归 { public static void main(String[] args) { System.out.println(diGui(100)); } public static int diGui(int n) { //接收输入 n=1 的情况并输出结果 if (n == 1) return 1; /*在else的return中,再次进入digui()前,前面的 n 都已经进入到了加法运算中,后面的递归操…
作业要求: 1.写一个名为Account的类模拟账户.该类的属性和方法如下所示: 该类包括的属性: ID,余额balance,年利率; 包含的方法:各属性的set和get方法.取款方法withdraw ( ) ,存款方法deposit ( ); 2.写一个测试程序: 创建一个Customer,名字叫王狗蛋, 他有一个账号为1314,余额为2000,年利率为1.23的账户,对王狗蛋的账户1314进行操作: 存入100元,再取出960元,再取出2000: 信息如下显示: 成功存入: 100 成功取出…
摘要: 继上一篇NoSQL之[MongoDB]学习(一):安装说明 之后,知道了如何安装和启动MongoDB,现在对启动时指定的配置文件(mongodb.conf)进行说明,详情请见官方. 启动MongoDB有2种方式,一是直接指定配置参数,二是指定配置文件.这里先介绍配置文件,启动方式如下: mongod --config /etc/mongodb.conf 配置如下: verbose:日志信息冗余.默认false.提高内部报告标准输出或记录到logpath配置的日志文件中.要启用verbos…
原文:[操作系统]进程间通信(C#) 08年9月入学,12年7月毕业,结束了我在软件学院愉快丰富的大学生活.此系列是对四年专业课程学习的回顾,索引参见:http://blog.csdn.net/xiaowei_cqu/article/details/7747205 进程间通信 命名管道 进程间通信的一种方式,Pipes:管道,分为无名管道:在父子进程间交换数据:有名管道:可在不同主机间交换数据,分为服务器方和客户方,在Win9X下只支持有名管道客户. 命名管道的命名 命名管道是一个有名字的,单向…
[Luogu3444]ORK-Ploughing(贪心) 题面 Luogu 题解 我们知道,如果我们选定了以横向为主,或者纵向为主, 那么就有尽可能减少另一个方向上耕地的次数 所以分开贪心,但是本质相同,所以接下来只考虑纵向为主 既然确定了以纵向为主,那么就要尽可能减少横向操作的次数 所以,只要能够纵向耕地,就不考虑横向耕地 可是,如果到了某个时候,纵向无法耕了 此时必须横向耕 但是我们不知道应该从上面开始还是下面开始 为了解决这个问题 我们假设上面最多耕的次数是有限次 换种想法,我们假设上面至…