java
allen11112
这个作者很懒,什么都没留下…
展开
-
java流对象
文章目录java流对象定义输入流实现子类FileInputStreamByteArrayInputStramBufferedInputStreamjava流对象定义IO,简单来说,就是输入输出,包括IO设备和IO接口。从发生IO的位置来说,分为系统IO和网络IO;从不同实现方式来分,有BIO,NIO以及AIO。输入流实现子类直接实现FileInputStreamByteArrayInputStream间接实现FilterInputStreamBufferedInputSt原创 2020-09-13 18:05:12 · 258 阅读 · 0 评论 -
mybatis之自定义TypeHandler
mybatis之自定义TypeHandlertypehandler有什么用?首先来讨论下mybatis sql查询回来的结果集如何封装pojo类。在jdbc里,查询回来的结果集是封装在ResultSet里,需要映射成相应的实体类。mybatis配置里提供了两种方式,提供给我们做结果集的转换resultType:pojo类与结果集里的字段名必须一样(经过简单的处理后一样,比如去除表字段中的下划线,或大小写转换) <select id="selectBook" resultType="boo原创 2020-07-10 23:27:03 · 776 阅读 · 0 评论 -
Mybatis入门
Mybatis入门什么是mybatismybatis官网定义mybatis是一个优秀的持久层框架,它支持自定义SQL、存储过程和高级映射。mybatis免除了所有JDBC代码以及设置参数和获取结果集的工作。mybatis可以通过简单的xml配置或注解来配置和映射原始类型、接口和java POJO为数据库中的对象。mybatis加载流程读取mybatis的配置文件流当入参把配置流对象解析成Configuration对象,并返回一个SqlSessionFactory对象SqlSes原创 2020-07-10 23:26:12 · 166 阅读 · 0 评论 -
程序员的算法趣题Q08:优秀的扫地机器人
题目现在市面上有很多扫地机器人,能够为我们分担家务,但是我们很难理解,有时候扫地机器人会重复清扫同一块地方。假设现在有一款扫地机器人,不会重复扫过的地方,如果它要走四步,在走了第一步后,移动三步有如下9种路径;第一步可以走4种路径,总共情况有 9*4=36 种路径。思路:1.可以(0,0)来表示初始位置,每次可以有四个方向可以选择 上(1,0),下(-1,0),左(0,-1),右(0,1)2.用一个集合保存所有已经走过的位置,过滤重复走的位置实现public class Floormo原创 2020-05-28 13:30:16 · 353 阅读 · 0 评论 -
程序员算法趣题之考兹曼猜想
题目考兹曼猜想:一个正整数,无论它为多少1.如果它是偶数,就除以22.如果它是基数,就乘以3+1一直重复运算,最后结果一定为1例子:5 16 8 4 2 1现在改进考兹曼猜想:一个正整数,无论它为多少1.首先将它乘以3加12.如果它是偶数,就除以23.如果它是基数,就乘以3+1重复运算,最后结果等于自己本身例子:4 13 40 20 10 5 16 8 4思路现在实现考兹曼猜想改进版,统计2到10000,有多少符合特征的数遍历运算并比较,运算结果为1,或者与自己本身相原创 2020-05-26 11:21:45 · 167 阅读 · 0 评论 -
springboot实战系列之集成mybatis
前言springboot是当前业界最流行的后台框架之一,提供人们快速构建spring应用的能力。这里不对它的特性做过多的介绍,只讲实战。环境idea2019 jdk1.8 springboot2.1.3.RELEASE搭建环境目录结构数据库初始化脚本CREATE TABLE `pms_brand` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `name` varchar(64) DEFAULT NULL, `first_lett原创 2020-05-23 10:16:36 · 205 阅读 · 0 评论 -
面试之前必须要了解的java8新特性
前言java8新增了很多新的特性,今天就跟大家聊一聊函数式编程。所谓的函数式编程,就是为了简化java8之前的匿名方法,提高java8的可读性。当然,提供了一些方法,可以更简便的去过滤、汇总集合数据。oracle官网上的what‘s new上列出的下面几点:Lambda Expressions, a new language feature, has been introduced in this release. They enable you to treat functionality a原创 2020-05-21 23:08:55 · 261 阅读 · 0 评论 -
切分木棒
文章目录切分木棒题目思路切分木棒题目假设要把长度为n 厘米的木棒切分为1 厘米长的小段,但是1 根木棒只能由1 人切分,当木棒被切分为3 段后,可以同时由3 个人分别切分木棒。(如图2)求最多有m 个人时,最少要切分几次。譬如n = 8,m = 3 时如下图所示,切分4 次就可以了。*解题要点如果人数足够,每次都对半切分所有木棒应该是最快的。因为存在人数限制,所以诀窍在于要尽量不让人空闲下来。思路这样的问题用递归最容易描述,切分后的木棒还会像切分前的木棒继续被切分。packa原创 2020-05-16 11:00:26 · 512 阅读 · 0 评论 -
Java基础之枚举
枚举类在java中,我们可能需要常量类来表示,比如星期,天气,月份。下面我们星期来做演示。常量类public class Weekday { public final static int MON = 0; public final static int TUS = 1; public final static int WED = 2; public fina...原创 2020-04-18 09:00:27 · 181 阅读 · 0 评论 -
Guava基础用法(一)
Guava基础什么是Guava? Guava是Google开源的一个涵盖了字符串处理、缓存、并发库、事件总线、IO等常用操作的Java核心库,也是google自己很多java项目依赖的工具库。 总的来说,就是google对java api优化,自己实现的工具库。核心方法 //测试代码的公共部分 @Before public void setUp() throws Excep...原创 2019-12-15 21:09:19 · 274 阅读 · 0 评论 -
java8新特性之Stream
流是一个新的抽象层中引入Java8。使用流,可以处理数据的声明方式类似于SQL语句。例如,考虑下面的SQL语句。SELECT max(salary), employee_id, employee_name FROM Employee上面的SQL表达式自动返回最大的受薪雇员的详细信息,没有做任何计算。使用集合框架在Java中,开发人员必须使用循环和重复检查。另一个问题是效率;随着多核处理器可用...原创 2019-11-15 14:36:13 · 114 阅读 · 0 评论 -
Java基础之LocalDateTime
时间基本概念日期和时间日期2000-11-12 2018-12-23时间20:23:21日期是指某一天,他是离散的。而时间有两种,一种是带日期的,比如:2018/11/12 15:02:23,这种能确定唯一的时刻。 另一种是不带日期的,比如12:23:21,他只能确定某个时间点。本地时间我们通常说的时间,是指北京时间,也就是本地时间。在同一时刻,不通地...转载 2019-10-28 11:03:54 · 381 阅读 · 0 评论 -
重构第二章读书笔记
文章目录何为重构为何重构何时重构重构的挑战延缓新功能开发代码所有权分支测试重构与软件开发过程何为重构重构(名词):对软件内部结构的一种调整,目的是在不改变软件可观察行为的前提下,提高其可理解性,降低其修改成本。动词形式的定义是:重构(动词):使用一系列重构手法,在不改变软件可观察行为的前提下,调整其结构。重构的关键在于运用大量微小且保持软件行为的步骤,一步步达成大规模的修改。...原创 2019-11-07 16:42:07 · 320 阅读 · 0 评论 -
java基础之类的创建与销毁
文章目录构造器方法重载为什么需要方法重载方法重载的定义this关键字类的初始化顺序类的终结处理与回收finalize方法构造器每个对象都需要有个初始化方法,已保证每个类的域都能正确的初始化。构造器方法怎么命名?构造器方法的命名参考c++,与类名相同,并且没有返回值调用构造是编译器的责任方法重载为什么需要方法重载方法重载是解决方法名冲突的问题,如果方法名一样,编译器如何知道你调用...原创 2019-10-20 13:27:41 · 433 阅读 · 0 评论 -
单链表之lru算法实现
什么时lru算法内存淘汰机制:FIFO(First in,First out):队列,也就是先进先出的数据结构LFU(Least Frequently Used):访问最常用的LRU(Least Recently Used):访问最近访问过的,热点命中单链表实现实现一个单链表,包括增删查改的方法。/** * @Auther: allen * @Date: 2019/8/22 ...原创 2019-08-22 18:21:04 · 356 阅读 · 0 评论 -
java core之ArrayList
arraylist源码解析arrayList是线性表的一种具体实现,底层使用数组存储数据的。类关系结构]关键属性 //默认初始化容量 private static final int DEFAULT_CAPACITY = 10; //默认为空时的数组 private static final Object[] EMPTY_ELEMENTDATA = new ...原创 2019-08-17 13:35:24 · 101 阅读 · 0 评论 -
ThreadPoolExecutor之初始线程池(二)
JDK中的线程池和工作机制初始化线程池都是用ThreadPoolExecutor来初始化。jdk预定义了一些线程池模板,可以用Executors来获取。各个参数的含义corePoolSize:线程池初始化时,核心线程数大小。maximumPoolSize:线程池最大线程数。当核心线程用完了,队列里也装满了,会创建新的线程来执行任务,但不能超过最大线程数。keepAliveTime:线...原创 2019-08-21 19:45:02 · 634 阅读 · 0 评论