
JAVA基础
程序员大航子
现就职于抖音集团 | 在南方发展的不正经东北人 | 互联网苟且偷生的JAVA开发 | 面试人数超200人 | 关注我不迷路
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
判断一个指定的位置点坐标(GPS上的经纬度)是否落在一个多边形区域内?
本文参考自 https://blog.youkuaiyun.com/enweitech/article/details/80654420开始行动,你已经成功一半了,献给正在奋斗的我们实现方式一个实体类,一个工具类,不需要引入任何第三方文件;实体类public class BmapPoint { private double lng;// 经度 private double lat;// 纬度 public BmapPoint() { } public Bma.原创 2020-07-18 10:03:13 · 1878 阅读 · 1 评论 -
手撕HashMap | tableSizeFor初始化容量与jdk7、jdk8的对比
转载本文章请标明作者和出处本文出自《爱喝纯净水的南荣牧歌》本文题目和部分思路来源自leetcode加油,程序猿!!!最近我们发现HashMap是大厂面试官的最爱之一,面试的提问频率可以说超过60%,那怎么办,盘他!!!首先我们去new一个HashMap的时候,可以在构造函数中指定它的初始容量(阿里的代码检查器也要求我们最好指明);我们打开HashMap的这个构造函数看一下; ...原创 2020-03-23 23:53:06 · 462 阅读 · 2 评论 -
使用TreeSet、TreeMap内容被覆盖
转载本文章请标明作者和出处本文出自爱喝纯净水的南荣牧歌开始行动,你已经成功一半了,献给正在奋斗的我们缘起上周,我做了成都一个著名中学的考勤项目,其中里面有一个排行榜的功能,我就是用了TreeSet进行排序,最后发现排序前后莫名其妙的少了几个元素,当时我还没有发现,后来被测试小姐姐提成了BUG;追溯然后我就写了一个Demo来验证整个问题;代码 TreeSet&...原创 2020-03-15 16:14:53 · 1381 阅读 · 0 评论 -
List自己实现分页代码
List<Integer> list = new ArrayList<>(100); for (int i = 0; i < 100; i++) { list.add(i); } int pageNo = 1000; int pageSize = 9; ...原创 2020-02-07 18:11:39 · 1497 阅读 · 0 评论 -
关于jdk8排序中的元素可能为null
imageSearchVos.stream().filter(x -> x.getScore() >= score).sorted( Comparator.comparing(ImageSearchVo::getTs, Comparator.nullsLast(Long::compareTo)) ).collect(Collectors....原创 2020-01-03 14:27:53 · 2368 阅读 · 0 评论 -
关于equals的面试题
== 和 equals 的区别是什么?==比较的是内存中的地址,如果是整数型的则比较的是值。equals()如果是继承自Object类的话,也是比较比较内存地址,但是类似于String和Integer都已经重写了这个方法。两个对象的 hashCode()相同,则 equals()也一定为 true,对吗?一般来说,如果==和equals()相等,hashCode()也要相等(反之不亦然)...原创 2019-12-20 16:43:34 · 1360 阅读 · 0 评论 -
使用LocalDate计算两个时间的时间差
final int days = (int) ChronoUnit.DAYS.between(LocalDate.parse(startDate), LocalDate.parse(endDate)) + 1;ps: 其中startDate和endDate直接传 yyyy-MM-dd格式的字符串即可原创 2019-12-18 14:50:27 · 5279 阅读 · 0 评论 -
数组通过jdk8转集合
Arrays.stream(arr).boxed().collect(Collectors.toList());通过以上代码可以将一个数组封装成一个Integer泛型的集合。原创 2019-11-20 15:53:49 · 1610 阅读 · 0 评论 -
jdk8获取当前时间
System.out.println( LocalDateTime.now().format(DateTimeFormatter .ofPattern("yyyy-MM-dd HH:mm:ss")) );原创 2019-10-21 16:18:31 · 3095 阅读 · 0 评论 -
把Map中的value倒叙排序并获取List(jdk8实现)
今天群里有人问了这个问题,群里的人基本上给出的答案都是匿名内部类什么的。我给出了jdk8的写法,很简单,分享出来。public class Main { /** * @Description: 把Map中的value倒序排序 * @Param: [args] * @return: void * @Author: YangHang * @D...原创 2019-08-24 02:22:20 · 3777 阅读 · 0 评论 -
jdk8对接口的增强(默认接口方法与静态接口方法)
可能在偶然间, 我们突然发现, 在点开某一个接口的源码的时候, 我们突然发现接口里面的方法竟然有了方法体。 莫慌, 那么恭喜你, 你使用的JDK版本一定是在JDK8之后的版本, 这就是JDK8对接口的增强(默认接口方法和静态接口方法)情景及代码案例现在我们有了人这个类, 我们知道人之所以区别于其他的动物, 很大部分原因是因为我们的交流沟通能力很强, 于是我们定义一个插件接口。 这个接口里有两个...原创 2018-12-08 00:54:50 · 1829 阅读 · 0 评论 -
面向对象的常量类——枚举(Enum)
枚举是JDK5的新特性, 但是在某些项目大家似乎忘记了这个新特性的存在, 总是喜欢使用Constant结尾的常量类来搞定。 但是其实每一种技术的出来都是有它自己存在的意义的。 那么我们为什么要使用枚举呢?在我看来, 最主要的原因就是枚举“看得明白、方便”, 换句话说。 我们同样用常量类来表示的东西, 使用枚举看得更清楚, 更加符合面向对象。什么是面向对象, 我觉得就不需要我说了。 因为基本上所有...原创 2018-12-05 19:40:25 · 1994 阅读 · 4 评论 -
深入浅出讲解Optional包装类
Optional是JDK8的新特性, 首先这个类是被final修饰的, 并且这个类只有一个Object的超类, 下面是这个类的结构。我们可以看到一共也没多少方法, 所以我觉得就从这个类开始, 养成阅读源码的习惯, 再合适不过了。Optional的作用在写这篇博客之前, 看过好多相关的资料, 大体上来说这个类就是用来解决万恶的空指针异常, 用来避免繁琐的 !=null代码而存在的。 那你也太...原创 2018-12-07 00:50:00 · 83385 阅读 · 9 评论 -
教你看懂System.out::println
在不经意间, 我们会看到这样的代码 // 创建出一个数组 List<String> strList = Arrays.asList("YangHang", "AnXiaoHei", "LiuPengFei"); strList.forEach(System.out::println);第一印象, 哇, 好高大上的写法, 那么这究竟是...原创 2018-12-09 12:45:57 · 83623 阅读 · 67 评论 -
多线程之详解synchronized关键字
相信学习过多线程的童鞋多多少少都会用到 synchronized 关键字, 加了这个, 妈妈再也不用担心我的代码不同步了。真的是这样的么?我们看一下下面的代码:/** * 验证同步锁锁住的是什么 * <p> * * @author YangHang * @Date 2019年1月4日 下午11:38:01 * */public class Synchronized...原创 2019-01-05 00:27:15 · 1240 阅读 · 1 评论 -
Java中创建对象的过程
我们来看如下的代码:/** * @program: shiro_code * @description: 对象的生命周期 * @author: YangHang * @create: 2019-07-01 22:21 **/public class ObjectLifeCycle { public static void main(String[] args) { ...原创 2019-07-01 22:50:18 · 1284 阅读 · 0 评论 -
如何在代码中查看服务器是否能够ping通
挺久之前看一篇博客写的, 找不到原博主了,自己封装了一哈。/** * @Description: 检查服务器地址是否可以ping通 * @Param: [ip] 服务器IP地址 * @return: boolean * @Author: YangHang * @Date: 2019/1/21 17:41 */ private ...原创 2019-08-02 09:26:48 · 2024 阅读 · 1 评论 -
在代码中访问网络/服务器资源
文章目录背景代码背景之前老大让我在文件服务器下载图片回来给算法做训练,直接从文件服务器下来有点慢,我选择直接访问资源的方式,试了HttpClient,实测下来每张照片需要几百毫秒,太慢了,这五百万数据开多线程也得挺长时间,所以选择了URL来处理,代码如下。代码try {// String path1 = ipPath + snapShot; ...原创 2019-08-02 09:35:04 · 1281 阅读 · 0 评论 -
Java注解引发的思考, 使用注解实现一个迷你版的hibernate
对于JDK5出现的重大产物——注解, 相信时至今日没有任何一个Java程序员会陌生, 无论是Spring还是Mybatis, 几乎所有的主流框架都弥漫着注解的“身影”。 就算你是一个新人, 相信Override注解也耳熟能详。@Target(ElementType.METHOD)@Retention(RetentionPolicy.SOURCE)public @interface Overr...原创 2018-12-07 22:29:48 · 1235 阅读 · 1 评论