随笔分类 -  java

摘要:1.前言 有个场景,消费者需要付钱,有可能是使用支付宝、微信、银行卡,那么该怎么选择呢? 是不是想到了使用用if else判断?还是使用switch? 一个地方这样写还好,如果有很多这样的业务,难道都写一遍?我不想重复轮子,因此可以将他们都封装好,可以使用工厂模式将他们封装。 什么是工厂模式? 就是 阅读全文
posted @ 2020-06-17 03:12 岑惜 阅读(210) 评论(0) 推荐(0) 编辑
摘要:1.前言 是不是还在使用System.out.println()打印数据到控制台看? 东西少还好,如果多起来,那就看的很烦人了,特别还有加时间等信息。 怎么解决? 可以使用日志框架 ,常见的有 logging 、log4j等 ,这一篇随笔详细讲解 logback。 log4j 、slf4j、logb 阅读全文
posted @ 2020-06-16 11:20 岑惜 阅读(573) 评论(0) 推荐(0) 编辑
摘要:i++:是先把i拿出来使用,然后再+1; ++i :是先把i+1,然后再拿出来使用; 阅读全文
posted @ 2020-06-16 10:44 岑惜 阅读(629) 评论(0) 推荐(0) 编辑
摘要:1.前言 不得不说, IOC和DI 在写代码时经常用到。还有个就是在面试时 ,面试官老喜欢问 IOC 和DI是什么的问题,都快被问吐了, 可是,仍然会让许多人说的支支吾吾。 为什么? 第一,因为这个知识实在是太基础了,忽略了操作的叫法,即便开发时老是在使用这个知识点,但是并不知道一直写的这个原来是叫 阅读全文
posted @ 2020-06-16 07:15 岑惜 阅读(587) 评论(0) 推荐(0) 编辑
摘要:1.前言 最近舍友去面试遇到了关于java代理模式的问题。 我虽然知道怎么使用,但是没有做过正经的总结,因此有了这篇随笔,好好总结一下三大代理模式底层原理。 事实上,在开发项目的时候,基本用不上代理,一般使用代理都是修改以前的代码才用到了,没人闲着在业务层多套一层代理吧??? 为什么使用代理? 原因 阅读全文
posted @ 2020-06-16 03:39 岑惜 阅读(246) 评论(0) 推荐(0) 编辑
摘要:1.前言 很奇怪 ,单元测试正常执行,但是结束后会报错 org.junit.runners.model.InvalidTestClassError: Invalid test class 'com.example.xxx' 2.原因 导错包了。。。。 出现这个原因是使用了 org.junit.jup 阅读全文
posted @ 2020-06-16 02:31 岑惜 阅读(9011) 评论(1) 推荐(2) 编辑
摘要:1.ArrayList (1)底层是由动态数组实现的【使用了List接口】。 (2)动态数组是长度不固定,随着数据的增多而变长。 (3)如果不指定,默认长度为10,当添加的元素超过当前数组的长度时,会创建新的数组,新数组长度是当前数组的1.5倍,然后当前数组的元素复制到新的数组后,当前数组的内存被释 阅读全文
posted @ 2020-06-15 00:56 岑惜 阅读(511) 评论(0) 推荐(0) 编辑
摘要:1. 字符串转大写: toUpperCase() 字符串转小写: toLowerCase() @Test public void tt(){ String d = "sdgGHJGjghGHJGHG"; System.out.println(d); System.out.println(d.toUp 阅读全文
posted @ 2020-06-15 00:00 岑惜 阅读(432) 评论(0) 推荐(0) 编辑
摘要:1.N个台阶的走法递归【这里设为10个台阶】 /** * N个台阶的走法递归 * <p> * 有个楼梯,台阶有10个,每次可以跳上1阶 或者 2阶 ,那么台阶的走法一共有多少种 */ @Test public void t() { System.out.println(f(10)); } //斐波那 阅读全文
posted @ 2020-06-14 08:45 岑惜 阅读(3145) 评论(0) 推荐(0) 编辑
摘要:双引号,用来引用字符串, 单引号用来表示单个字符。 阅读全文
posted @ 2020-06-14 03:08 岑惜 阅读(1060) 评论(0) 推荐(0) 编辑
摘要:1.前言 匿名内部类是什么东西? 没有名字的内部类就是匿名内部类。 什么场景使用? 匿名内部类适合创建那种只需要一次使用的类。 这是个很有用的东西,可想而知,如果不使用匿名内部类,哪些只需要使用一次的类岂不是需要单独做个文件存放?文件多起来,连名字都不好起, 这算是 给 起名字困难人群 巨大的福利啊 阅读全文
posted @ 2020-06-13 15:22 岑惜 阅读(701) 评论(0) 推荐(0) 编辑
摘要:1.前言 昨天舍友去面试,被面试官的问题难住了:俩个学生类除了学生姓名不同用.equal来比较。 我是一脸懵逼的 ,问题说的很模糊 , 理解字面意思为 :一个 实体类名叫Student ,内部属性有学生姓名等 ,然后该类被new 了两个对象 ,输入不同的name值 ,然后使用 .equals比较是否 阅读全文
posted @ 2020-06-13 13:39 岑惜 阅读(235) 评论(0) 推荐(0) 编辑
摘要:1.前言 有个数组 int[] numbers = new int[]{1, 6, 4, 5, 2, 12, 33, 24}; 希望能够计算出 升序和降序 的数组结果 ,该怎么做? 2.算法 (1)自定义排序算法 package com.example.javabaisc.sort; import 阅读全文
posted @ 2020-06-13 11:08 岑惜 阅读(324) 评论(0) 推荐(0) 编辑
摘要:1.前言 上一篇随笔【 https://www.cnblogs.com/c2g5201314/p/13111591.html 】总结了 栈 与 堆 ,栈是栈 ,堆是堆 ,不是一个东西, 但 又 明确地指出了栈 ,又称为栈堆 ,这是为什么呢? 这一篇随笔将详细说明 栈堆 的由来。 这就得从数组的定义讲 阅读全文
posted @ 2020-06-13 10:14 岑惜 阅读(448) 评论(0) 推荐(0) 编辑
摘要:1.前言 众所周知,StringBuffer 是线程安全的 ,而StringBuilder 不是线程安全的 ,但是 StringBuilder 速度会更快。 事实上 作为一个字符串拼接 方法 ,在线程安全的应用场景几乎没有 【在频繁进行字符串运算(如拼接、替换、删除等),并且运行在多线程环境中, 则 阅读全文
posted @ 2020-06-13 09:16 岑惜 阅读(230) 评论(0) 推荐(0) 编辑
摘要:1.堆【heap】 (1)堆总是一颗完全二叉树【深度为K,除了k层外,1~k-1层的结点数都达到最大值,k层所有的节点都连续集中在最左边的就是完全二叉树】 (2)堆 不是在程序编译时申请内存的,而是在程序运行时向操作系统申请内存空间,即动态分配内存空间,一般是申请/给予的过程; (3)堆通常可被看作 阅读全文
posted @ 2020-06-13 08:47 岑惜 阅读(557) 评论(0) 推荐(0) 编辑
摘要:1.线程同步的几种方式有哪些? synchronized修饰 、使用Lock、使用容器类如ConcurrentHashMap 等。 2.synchronized和java.util.concurrent.locks.Lock的 区别有哪些? (1)Lock必须在finally块中释放 ,否则,如果在 阅读全文
posted @ 2020-06-12 23:19 岑惜 阅读(367) 评论(0) 推荐(0) 编辑
摘要:1.前言 众所周知, synchronized 是同步锁 ,虽然在底层又细分了无锁、偏向锁、轻量级锁、自旋锁 以及重量级锁 机制, 这些底层锁知道一下原理即可 ,【想要 了解 这篇 博文 有 解释 : https://blog.csdn.net/u013256816/article/details/ 阅读全文
posted @ 2020-06-12 22:30 岑惜 阅读(1664) 评论(0) 推荐(0) 编辑
摘要:1.前言 (1)线程的上一级是进程,进程是程序的一次执行过程,是系统运行程序的基本单位,因此进程是动态的。 (2)线程与进程相似,但线程是一个比进程更小的执行单位,也被称为轻量级进程。一个进程在其执行的过程中可以产生多个线程。 (3)多线程就是多个线程同时运行或交替运行。 (4)提倡多线程而不是多进 阅读全文
posted @ 2020-06-12 16:02 岑惜 阅读(173) 评论(0) 推荐(0) 编辑
摘要:1.数字排序 /** * 数字排序 */ @Test public void t2() { List<Integer> list = new ArrayList<>(); list.add(2); list.add(4); list.add(8); list.add(5); list.add(6); 阅读全文
posted @ 2020-06-12 05:46 岑惜 阅读(1675) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示