Java基础
文章平均质量分 50
北方之北
热爱生活,热爱学习,每天都要有进步。加油!!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
GC相关的内容
原创 2021-02-16 20:35:42 · 174 阅读 · 0 评论 -
彻底分析七大软件架构设计原则之依赖倒置原则(DIP)
前言:最近在看书的时候看到了一个很熟悉的名词,依赖倒置原则,这个对于Java开发人员来说应该都很熟悉,但是有多少人真的搞懂了这个名词的含义?网上大概搜索了一下基本上都是只有名词的定义,而不是真正的去解释这个含义,所以我决定写一篇文章分析一下这个名词的含义。如果哪里写的不对也欢迎指正和批评。正文:一:依赖倒置原则的定义1.High-level modules should not depend onlow-level modules. Both should depend on abst.原创 2021-01-19 22:53:18 · 511 阅读 · 1 评论 -
java8新特性之参数函数化
背景:基于java8函数式编程,将函数式编程真实的代入代码中上代码:一个拍脑袋随便想的功能,开启汽车上的空调,例子比较智障,参考代码实现即可没有必要较真例子是否合理1:构建函数式接口(空调接口,具有开关功能)@FunctionalInterfacepublic interface ICarAirConditioner { void conditionerSwitch(Car car, String yuyin);}2:汽车类接口public interfac.原创 2020-08-26 22:46:21 · 953 阅读 · 2 评论 -
java8新特性之Lambda表达式
一:背景java8最重要的改变之一就是lambda,lambda源于数学中的λ演算,对应的含义是匿名函数,在java中我们可以将其理解函数可以向参数一样进行传递。lambda为java填补了函数式编程的缺失,这种方式从好的角度来说可以是编程风格更简洁,代码更紧凑。二:Lambda表达式基础语法1:lambda表达式的重要特征:(1)无需声明参数类型,编译器会进行类型推断。(2)参数大于一个,不包括一个则必须写圆括号,没有参数是有空圆括号()。(3)lambda表达式可以包含一条.原创 2020-08-25 22:09:32 · 190 阅读 · 0 评论 -
java8新特性之接口默认方法(扩展方法)
一、背景:java8新增加了特性,允许接口增加非抽象的方法实现,方法必须使用default声明,此方法可以在子类中直接使用,也可以在子类中重写,为什么要增加这一特性原因其实很简单,因为接口和实现类耦合度过高,使用java的同学肯定有感触,当要为接口增加一个方法时,所有实现类接口都要跟着改动,默认方法就是为解决这个问题而生,给接口增加方法而不破坏原有的接口实现。java8的大版本升级带来了很多功能上接口上的更新,为了向下兼容,所以增加的这一特性(bibi两句:这么解释其实有点打脸,piapia的,依然记得原创 2020-08-20 22:21:12 · 802 阅读 · 0 评论 -
Java8匿名内部类
前言:本篇文章讲解java的匿名内部类,匿名内部类,顾明思意,是一个没有显示名字的内部类,其实质是对内部类的简化写法,匿名内部类会隐式的实现一个接口或者继承一个类。匿名内部类适合创建只使用一次的类,如果一个类只使用一次的话就无须使用平时常用的方法,继承或者实现父类后,再去实例化对象,使用匿名内部类可以简化这个编程的过程,并且不会编译生成单独的.class文件。匿名内部类的语法:1:基础语法new 类名/接口/抽象类(){};2:实现普通类的匿名内部类public c.原创 2020-08-18 22:33:21 · 990 阅读 · 0 评论 -
三个线程按顺序打印分别打印ABC
public static Lock lock = new ReentrantLock(); public static int count = 1; public static Condition condition1 = lock.newCondition(); public static Condition condition2 = lock.ne...原创 2020-02-29 15:54:59 · 348 阅读 · 0 评论 -
顺序递增打印正整数,从1开始打印到100,中间换行分隔。不允许重复打印出相同的数字,比如打印结果里出现2个5,3个6之类的。
public static Lock lock = new ReentrantLock(); public static int count = 1; public static Thread thread1 = new Thread(() -> { while (count < 100) { lock.lock();...原创 2020-02-29 12:48:20 · 871 阅读 · 0 评论 -
leetcode-1.two sum(两数之和)
前言:元旦放假实在无聊,写点代码娱乐自己吧,平时工作负责项目管理方面的东西相对多了一些,作为一个热爱编程的人实在是手痒,趁着假期练练手,当然了,不是为了刷题,就是为了让自己保持一个编程的状态。个人觉得为了刷题而刷题会失去很多写代码的乐趣,由于自己水平有限,如果代码有问题或者有什么更好的办法也欢迎各位大神提意见,感谢。题目来源:https://leetcode-cn.com/problems...原创 2018-12-31 14:30:19 · 168 阅读 · 0 评论 -
输出n对圆扩号的所有有效组合
前言:n年前,面试某大厂时,面试官要求手写该算法,当时记得只说出了想用递归去做,但具体实现上由于紧张等原因吧,思路不够清晰,没有描述清楚,当时的面试也是挂掉了,后来也想过,但是没整理出来,直到最近看到leetcode上有道题(https://leetcode.com/problems/generate-parentheses/)与我当时面试的题及其类似,花了一上午的时间整理出来该题,仅供参考(...原创 2018-12-28 17:45:48 · 182 阅读 · 0 评论
分享