Java 包装类——比较大小 整数、浮点类型的包装类,都继承于Number类型,而Number类型分别定义了将数字转换为byte、short、int、long、float、double的方法。所以,可以将Integer、Double先转为转换为相同的基本数据类型(如double),然后使用==进行比较。...
若依框架前后端分离版——导入功能 在实际开发中经常需要使用导入导出功能来加快数据的操作。在项目中可以使用注解来完成此项功能。 在需要被导入导出的实体类属性添加@Excel注解。由于若依代码自动生成已经把导出功能实现好了,这里就不在赘述,下面记录一下我的Excel导入功能的实现流程。...
Centos 7 如何配置环境变量?在不同文件中配置有什么区别? Linux的环境变量可在多个文件中配置,如/etc/profile,/etc/profile.d/*.sh,~/.bashrc,~/.bash_profile等,本文旨在说明上述几个文件之间的关系和区别。
Java 实现 LRU 算法 1 什么是LRULRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。2 实现思路开始时,内存中没有页面。每次访问页面时,先检测内存中是否存在该页面,若不存在则将该页面加载到内存“末尾”,若存在则直接访问该页面,并将该页面移到内存“末尾”。如果访问某个内存中不存在的页面时,内存已满,则将内存“开头”的页面移出,并将新的页面加载到内存“末尾”。这样就可以始终保持着最近访问的页面在不经常访问的页面的后面了。3数据结构的选择
java 线程池 如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间,线程也属于宝贵的系统资源。在Java中可以通过线程池来避免频繁创建销毁线程、实现重复利用,其实际上就是容纳了多个线程的容器。这种思想是不是非常类似于我们生活中的共享单车呢?
java 原子性 1 引入所谓的原子性是指在一次操作或者多次操作中,要么所有的操作全部都得到了执行并且不会受到任何因素的干扰而中断,要么所有的操作都不执行。class VolatileAtomicThread implements Runnable { // 定义一个int类型的遍历 private int count = 0 ; @Override public void run() { // 对该变量进行++操作,100次 for(int x = 0 ;
Java 集合类(Map和Collection) 1 引言集合是java中提供的大小可变的容器。集合分为单列结合Collection和双列集合Map。集合和数组的区别:数组的长度是固定的。集合的长度是可变的。数组中存储的是同一类型的元素,可以存储任意类型数据。集合存储的都是引用数据类型,如果想存储基本类型数据需要存储对应的包装类型。2 Collection2.1 继承体系Collection:单列集合类的根接口,Collection接口又派生出三个子接口,分别是java.util.List、java.util.Set和java.uti
Scala 函数式编程 1 引入随着大数据时代的到来,函数式编程开始迅速崛起,因为,函数式编程可以较好满足分布式并行编程的需求(函数式编程一个重要特性就是值不可变性,这对于编写可扩展的并发程序而言可以带来巨大好处,因为它避免了对公共的可变状态进行同步访问控制的复杂问题)。2 函数定义2.1 函数字面量在非函数式编程语言里,函数的定义包含了“函数类型”和“值”两种层面的内容。但是,在函数式编程中,函数是“头等公民”,可以像任何其他数据类型一样被传递和操作,也就是说,函数的使用方式和其他数据类型的使用方式完全一致了。这时,我们
Scala 面向对象 1 权限修饰符如果字段前面什么修饰符都没有就默认是public,外部可以访问该字段。对于类而言,我们并不需要声明为public,Scala文件中包含的多个类之间,都是彼此可见的。2 方法方法定义:def functionName ([参数列表]) : [return type] = { // 方法主体}如果你不写等于号和方法主体,那么方法会被隐式声明为抽象(abstract)在Scala中不返回任何值,那么就用Unit表示方法的返回值,不需要靠return语句,方法里面的最后一个表达式
Scala 基础语法 由于学习Spark需要用到Scala,这里记录一下Scala的一些基础语法。注意:Scala 行末不需要加分号1 变量类型val,是不可变的,在声明时就必须被初始化,而且初始化以后就不能再赋值var,是可变的,声明的时候需要进行初始化,初始化以后还可以再次对其赋值。2 基本数据类型包括Byte、Char、Short、Int、Long、Float、Double和Boolean。和Java不同的是,在Scala中,这些类型都是“类”。3 字面量包括整数字面量、浮点数字面量、布尔型字面量、
java 多线程编程(包括创建线程的三种方式、线程的生命周期、线程的调度策略、线程同步、线程通信、线程池、死锁等) 1 多线程的基础知识1.1 单核CPU和多核CPU单核CPU,其实是一种假的多线程,因为在一个时间单元内,也只能执行一个线程的任务。微观上这些程序是分时的交替运行,只不过是给人的感觉是同时运行,那是因为分时交替运行的时间是非常短的。只有在多核 CPU 系统中,这些程序彩色真正意义上的的同时执行。目前电脑市场上说的多核 CPU,便是多核处理器,核越多,并行处理的程序越多,能大大的提高电脑运行的效率。通过任务管理器可以很方便地查看自己电脑CPU的核数,如下图所示。1.2 并行与并发的区别并行:多
java DateFormat及SimpleDateFormat java.text.DateFormat 是日期/时间格式化子类的抽象类,我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。