X的最小值 CEIL(5.4)=6 FLOOR(X) 小于或等于X的最大值 FLOOR(5.8)=5 LOG(X,Y) X为底Y的对数 LOG(2,4)=2 MOD(X,Y) X除以Y的余数 MOD(8...常用的日期函数有: 1、ADD_MONTHS(d,n),在某一个日期 d 上,加上指定的月数 n,返回计算后的新日期。 d 表示日期,n 表示要加的月数。...Ø ④ 如果 fmt 为“DAY”则舍入到最近的周的周日,即上半周舍去,下半周作为下一周周日。...HOUR 匹配的结果中没有加上时区,因此在中国运行的结果小 8 小时。...常见的转换函数有: 1、TO_CHAR(d|n[,fmt]) 把日期和数字转换为制定格式的字符串。
大家好,又见面了,我是你们的朋友全栈君。...描述: 现有一链表的头指针 ListNode* pHead,给一定值x,编写一段代码将所有小于x的结点排在其余结点之前,且不能改变原来的数据顺序,返回重新排列后的链表的头指针。...== null || pHead.next == null){ return pHead; } //newHead的指针...ListNode newHead = new ListNode(-1); ListNode tmp = newHead; //pHead的指针...ListNode preCur = pHead; ListNode cur = preCur.next; //把小于x的节点放进newHead链表里 //
Java 运行时的内存划分 ? image 程序计数器 记录当前线程所执行的字节码行号,用于获取下一条执行的字节码。 当多线程运行时,每个线程切换后需要知道上一次所运行的状态、位置。...Java 堆 Java 堆是整个虚拟机所管理的最大内存区域,所有的对象创建都是在这个区域进行内存分配。 可利用参数 -Xms -Xmx 进行堆内存控制。...默认情况下元数据区域会根据使用情况动态调整,避免了在 1.7 中由于加载类过多从而出现 java.lang.OutOfMemoryError: PermGen。...运行时常量池 运行时常量池是方法区的一部分,其中存放了一些符号引用。当 new 一个对象时,会检查这个区域是否有这个符号的引用。...它是通过在堆内存中的 DirectByteBuffer 对象操作的堆外内存,避免了堆内存和堆外内存来回复制交换复制,这样的高效操作也称为零拷贝。 既然是内存,那也得是可以被回收的。
1.Java异常机制 Java把异常当做对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。...Java中的异常分为两大类:错误Error和异常Exception,Java异常体系结构如下图所示: 图片来源:http://blog.csdn.net/wuwenxiang91322/article...4.可查异常和不可查异常 通常,Java的异常(包括Exception和Error)分为可查的异常(checked exceptions)和不可查的异常(unchecked exceptions)。...程序会在throw语句后立即终止,它后面的语句执行不到,然后在包含它的所有try块中(可能在上层调用函数中)从里向外寻找含有与其匹配的catch子句的try块。...如果是主程序抛出的异常,那么这整个程序也就退出了。运行时异常是Exception的子类,也有一般异常的特点,是可以被catch块处理的。只不过往往我们不对他处理罢了。
根据《Java 虚拟机规范》的规定, Java 虚拟机所管理的内存将会包括以下几个运行时数据区域:程序计数器、Java 虚拟机栈、本地方法栈、Java 堆、方法区。...运行时常量池运行时常量池(Runtime Constant Pool)是方法区的一部分。...运行时常量池相对于 Class 文件常量池的另外一个重要特征是具备动态性,Java 语言并不要求常量一定只有编译期才能产生,也就是说,并非预置入 Class 文件中常量池的内容才能进入方法区的运行时常量池...直接内存直接内存(Direct Memory)并不是虚拟机运行时数据区域的一部分,也不是《Java 虚拟机规范》中定义的内存区域。...参考资料《深入理解 Java 虚拟机》第 2 章:Java 内存区域与内存溢出异常 2.2 运行时数据区域
1,java.lang.NullPointerException 这个异常的解释是 “程序遇上了空指针 “,简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中...2,java.lang.ClassNotFoundException 异常的解释是”指定的类不存在”,这里主要考虑一下类的名称和路径是否正确即可 3,java.lang.ArrayIndexOutOfBoundsException...当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。5,java.lang.IndexOutOfBoundsException 索引越界异常。...当访问某个序列的索引值小于0或大于等于序列大小时,抛出该异常。 6,java.lang.NumberFormatException 数字格式异常。...7,java.sql.SQLException Sql语句执行异常8,java.io.IOException 输入输出异常 9,java.lang.IllegalArgumentException 方法参数错误
使用过linux系统的运维应该都有在上面安装过软件包,有时候我们需要查询即将要安装的包有没有在这个系统上已经安装,如果不先查一下,或多或少会出现问题,比如版本不一致等等。...: $ rpm -qa --last 以下两种是通用方法,可以在任何安装了snap或flatpak工具的系统上使用这些命令: 列出使用 snap 安装的软件包 Snap是 Canonical 开发的软件部署和包管理系统...要列出系统上安装的所有 snap 应用程序,请运行: $ snap list [202109181505979.png] [列出 Linux 中已安装的 snap 应用程序] 使用 flatpak 列出已安装的包...Flatpak是一个独立于平台的包管理系统,用于在 Linux 上构建、安装和运行沙盒桌面应用程序和运行时。...要列出 Linux 中所有已安装的 flatpak 应用程序,请运行: $ flatpak list --app [202109181505223.png] !
,仍然可以在设置中更改) 安装该补丁后,GIMP 的外观看起来如下: image.png 如何安装 这里是以 flatpak 做示例介绍的,但这个补丁其实“只是文件”而已,所以,你可以在以任何打包方式安装的...准备 Flatpak 环境 首先,你需要使用 Flatpak 在系统上安装最新的 GIMP。...通过 AppCenter/Package Manager 或终端安装 GIMP Flatpak: flatpak install flathub org.gimp.GIMP 安装此补丁 在发布页面的 .....icons(这里有一个新的 PhotoGIMP 图标) .local(其中包含个性化的 .desktop 文件) .var (其中包含 GIMP 2.10+ 的 flatpak 补丁定制) 如果你只是想要自定义...新的图标只有通过 Linux 环境下的补丁提取才能使用,但你可以在你的系统上手动设置它。 总结 好了,你是不是从 PhotoShop 转移过来的 GIMP 用户,你有没有试过这个补丁?
大家好,又见面了,我是你们的朋友全栈君。 运行时异常:编译时不会报错,但程序运行起来如果有错误就会报异常。...以下为常见的运行时异常: ArithmeticException 算数运算异常,由于除数为0引起的异常; ClassCastException 类型转换异常,当把一个对象归为某个类,但实际上此对象并不是由这个类创建的...,也不是其子类创建的,则会引起异常; ArrayStoreException 由于数组存储空间不够引起的异常; NullPointerException 空指针异常,程序试图访问一个空的数组中的元素或访问空的对象中的方法或变量时产生异常...ConcurrentModificationException 并发修改异常; NoSuchElementException 找不到元素异常; UnsupportedOperationException 不支持请求异常;(使用Arrays工具类的asList
背景 在开发默认提示文字时: 解决方案 转义 使用\"代替" 效果 正常
enum choices {a1, a2, b1, b2}; 方法一: public static boolean contains(String test) ...
通常的做法是首先利用 FreeMarker 生成 HTML 内容(包括图片),然后将该 HTML 转换为 .doc 格式。方法概述使用 FreeMarker 生成包含图片的 HTML。...Java 代码实现编写 Java 代码,利用 FreeMarker 处理模板,并生成最终的 .doc 文件。...*;import java.util.HashMap;import java.util.Map;import java.util.Base64;public class FreeMarkerDocGenerator...imageData); return Base64.getEncoder().encodeToString(imageData); }}注意事项兼容性问题:虽然上述方法可以生成一个包含内联图片的...转换工具:如果需要更高的兼容性和更丰富的功能(如更好的样式控制、表格等),可以考虑使用专门的库(如 Apache POI 或 Docx4j)来生成 .docx 文件,而不是直接生成 .doc 文件。
重要的事情说三遍: 反射并没有什么神奇之处!反射并没有什么神奇之处!反射并没有什么神奇之处!...---- 当通过反射与一个未知类型的对象打交道时,JVM只是简单地检查这个对象,看它属于哪个特定的类(和RTTI一样)。在用它做其他事情之前必须先加载那个类的class对象。...那个类的class文件要么存在于本地,要么在网络上。 仅此而已。 反射和RTTI的区别就是何时获得和打开class文件。 RTTI在编译时打开和检查class文件。...(换句话说,我们以普通的方式调用对象的方法) 反射在运行时打开和检查class文件。
如何安装 Atoms 要使用 Atoms,您需要一个支持 Flatpak 的 Linux 发行版。您不会在 .deb 或 .rpm 包中找到 Atoms,它也不可通过 Snap 获得。...所以,如果您当前的 Linux 操作系统没有安装 Flatpak,您需要先安装它。像 Fedora 这样的发行版默认自带 Flatpak。...对于基于 Ubuntu 的发行版,您可以使用如下命令安装 Flatpak: sudo apt-get install flatpak -y 如果您现在才安装 Flatpak,在它可以从 Flathub...安装完成后,您可以登录并注销(以便向您的桌面菜单添加 Atoms 启动器),或者立即使用以下命令运行 Atoms: flatpak run pm.mirko.Atoms 首次启动 Atoms 时,您会看到...图1:首次运行时 Atoms 应用程序不包含任何 chroot 环境。
通过反射获取运行时类的完整结构 Field、Method、Constructor、Superclass、Interface、Annotation Ø 实现的全部接口 Ø 所继承的父类 Ø 全部的构造器...Ø 全部的方法 Ø 全部的Field 通过反射获取运行时类的完整结构 使用反射可以取得: 1.实现的全部接口 Ø public Class[] getInterfaces() 确定此对象所表示的类或接口实现的接口。 2.所继承的父类 Ø public Class getSuperclass() 返回表示此 Class 所表示的实体(类、接口、基本类型)的父类的 Class。...2.一定要熟悉java.lang.reflect包的作用,反射机制。 3.如何取得属性、方法、构造器的名称,修饰符等。
查询crm_linkman表中,birthday(数据库中为date类型)字段中,月日为5-31的记录(主要用于检索今天有没有联系人生日) SELECT
还是我们上次的图,我们上次大概讲解了类加载子系统的执行过程,验证,准备,解析,初始化四个过程。还有我们的双亲委派机制。 我们这次来说一下运行时内存模型。上一段小代码。...我再来详细的看一下内存模型内的栈到底是怎么工作的。 首先在栈空间内开辟一块空间,然后在空间内给予一个独立的main空间到栈底,在分配compute栈帧到栈,栈是先进后出的,切记。...我们先来看一下我们的栈的大小,我们在程序启动时可以配置-xss=1M,这个1M其实每一个栈线程的大小,并不是代表全部的栈大小总和。...新建的对象一律防放置在eden区上,当我们的eden放置满的时候,会触发我们的minorGC,清理到那些不可达对象,也就是不在有可能使用的对象。...最近搞了一个个人公众号,会每天更新一篇原创博文,java,python,自然语言处理相关的知识有兴趣的小伙伴可以关注一下。
①精确到纳秒 long startTime=System.nanoTime();//获取开始时间 /* 测试的程序代码; */ long endTime=System.nanoTime();//获取结束时间...System.out.println("运行时间是:"+(startTime-endTime)+"ns");//输出运行时间 ②精确到毫秒 long startTime=System.currentTimeMillis...();//获取开始时间 /* 测试程序代码; */ long endTime=System.currentTimeMillis();//获取结束时间 System.out.println("运行时间是:..."+(startTime-endTime)+"ms");//输出运行时间
各种各样的编程语言不断崛起,但唯有Java是牢牢占据着老大的位置,目前几乎90%以上的大中型互联网应用系统在服务器端开发首选Java。因此,也吸引了不少年轻人投入到Java的学习之中。...Java有没有求职的技巧?多线程面试习题有哪些?下面一同来看看吧。 1.Java创建线程之后,直接调用start()方法和run()的区别? ...notify():唤醒一个处于等待状态的线程,注意的是在调用此方法的时候,并不能确切的唤醒某一个等待状态的线程,而是由JVM确定唤醒哪个线程,而且不是按优先级。 ...但进程有独立的地址空间,进程崩溃后,在保护模式下不会对其他的进程产生影响,而线程只是一个进程中的不同的执行路径。...如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量 的值也和预期的是一样的,就是线程安全的。