![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 67
gendlee1991
编程界的小学生
展开
-
0107 设计模式之创建型模式
创建型模式是对类的实例化的抽象,对类的创建和使用分离。主要包括以下6种。1、工厂方法模式1.1 定义🥝定义:工厂父类负责定义创建产品对象的公共接口,由工厂子类负责生产具体产品对象,即将产品的创建延迟到工厂子类中完成,工厂子类来决定创建哪一种产品。工厂方法模式包含如下角色:Product:抽象产品ConcreteProduct:具体产品Factory:抽象工厂ConcreteFactory:具体工厂UML图时序图1.2 实践实践用例:实现一个日志记录器,支持多种日志记录方式,如文件原创 2022-05-28 20:45:40 · 167 阅读 · 0 评论 -
0106 优雅与高效的java编程手记(1-20)
本系列文章为《Effective Java 3rd Edition》的阅读手记,该著作中提供了90条java的编程建议,都是从实战中总结出的高阶经验。结合实际开发中的使用频率,对有的条目详细解读和实践,对于一些不常用的条目,就当走个意识,真正实践中遇到再回头细读。原创 2022-04-16 21:31:12 · 567 阅读 · 0 评论 -
0103 spark应用提交时加载本地配置文件及解析方式
在spark应用提交到集群时,如果我们需要加载本地(驱动节点)的配置文件时,如:...spark-submit \ -class ... -jars ... -jar ... file:///yourLocalFilePath/conf.properties在解析该配置文件时,通常我们将其处理为HashMap形式,通过key-value方式实现便捷的配置参数读取。具体实现方式如下:package com.gendlee1991.utilsimport java.io.{FileInp原创 2020-12-22 23:35:50 · 489 阅读 · 0 评论 -
0102 LRU算法必杀技
LRU算法必杀技原理概述:LRU(Least Recently Used),最近最少使用原则实现的缓存淘汰算法。“最近最少”的误解:很多人看字面意思很可能理解为“最近使用和最少使用的被淘汰”,理解几乎完全相反了。“最近最少”的正确理解:基于这样一种准则:刚使用过的、最新添加的元素,被(再次)使用到的概率更大,因此要放到队列读取的最前端,最先淘汰队列尾端的元素(说明它被添加的时间很长了而且很少被访问到过,若是新添加的、经常被访问过的应该在靠近读取端头部)。看这样一个例子:面试题 16.25. LRU原创 2020-12-12 15:00:13 · 186 阅读 · 0 评论 -
0100 java.utils.Arrays 源码阅读笔记
Java Arrays源码阅读笔记 来自包 java.utils.Arrays 文字与代码对应关心:学习理解的文字在源代码的下方 private static final int MIN_ARRAY_SORT_GRAN = 1 << 13;最小数组长度,低于该长度,并行排序算法将不会进一步划分排序任务。使用较小的大小通常会导致任务之间的内存竞争,从而使并行加速变得不太可能。默认是2^13 = 8192个元素长度。private Arrays()原创 2020-11-15 20:50:41 · 105 阅读 · 0 评论 -
0090 Spring Boot常用注解名词解释
SpringBoot注解:就是给代码打上标签的能力。通过引入注解,我们可以简单快速赋予代码生命力,大大提高代码可读性和扩展性。注解本身不具有任何能力,只是一个标签,但是我们可以定义各种标签然后实现各种标签处理器来对类、方法、属性甚至参数等进行功能扩展、功能开启、属性定义、行为定义、规则定义、关联处理、元数据定义等等。元注解:@Documented:将会在被此注解注解的元素的javadoc文档中列出注解,一般都打上这个注解没坏处@Target:注解能被应用的目标元素,比如类、方法、属性、参数等等,需要仔原创 2020-05-17 14:01:18 · 484 阅读 · 0 评论 -
0086 shopee面试题汇总
1、大数据方向leetcode hard 寻找两个有序数组的中位数##了解MVCC吗MVCC:多版本并发控制。特点1.MVCC其实广泛应用于数据库技术,像Oracle,PostgreSQL等也引入了该技术,即适用范围广2.MVCC并没有简单的使用数据库的行锁,而是使用了行级锁,row_level_lock,而非InnoDB中的innodb_row_lock.基本原理:MVCC的实现...原创 2020-04-25 23:49:21 · 16440 阅读 · 0 评论 -
0085 java面试高频问题汇总
Java基础:1.JDK 和 JRE 有什么区别?面向人群不同:JDK是面向开发人员的,包括java运行时环境(JRE)和一些基础库函数;JRE是面向java程序使用者的,即要运行java程序,就得用到JRE;安装不同:如果安装JDK,电脑有两套JRE,一套位于 \jre ,另外一套位于 C:\Program Files\Java\j2re1.4.1_01 目录下。如果安装JRE,会在...原创 2020-03-30 22:14:38 · 537 阅读 · 0 评论 -
0084 如何写一个flink程序
如何写一个flink程序step 1: 环境创建**@**流处理执行环境创建: **StreamExecutionEnvironment **StreamExecutionEnvironment see = StreamExecutionEnviroment.getExecutionEnviroment();**@**批处理执行环境创建:**ExecutionEnvironment ...原创 2020-01-21 14:24:04 · 188 阅读 · 0 评论 -
0083 不用比较元素大小也能排序——计数排序算法实现与分析
package sort;public class CountSorting { public static void countSort(int[] nums){ if (null == nums || nums.length < 2) return; int min = Integer.MAX_VALUE; ...原创 2019-11-02 14:26:29 · 249 阅读 · 0 评论 -
0082 分治法实现归并排序
package sort;public class MergeSorting { public static void mergeSort(int[] nums, int start, int end){ if (start == end) //终止条件(细品) return; int mid = (start + end)/...原创 2019-10-29 21:10:25 · 176 阅读 · 0 评论 -
0081 插入排序简单分析
package sort;public class InsertSorting { public static void insertSort(int[] nums){ if (null == nums || nums.length < 2) return; for (int i = 0; i < nums.leng...原创 2019-10-29 20:06:23 · 92 阅读 · 0 评论 -
0080 分治法思想下的快速排序算法
public class QuickSorting { public static void quickSort(int[] nums, int start, int end){ if (start > end) //终止条件(细品) return; int i = start; int j = end; ...原创 2019-10-28 20:55:49 · 140 阅读 · 0 评论 -
0079 选择排序的“丑陋”
public class SelectSorting { public static void selectSort(int[] nums){ if (null == nums || nums.length < 2) return; for (int i = 0; i < nums.length; i++){ ...原创 2019-10-28 20:19:11 · 141 阅读 · 0 评论 -
0078 冒泡排序算法分析
//假设升序排序public class BubbleSorting { public static void bubbleSort(int[] nums){ if (null == nums || nums.length < 2) //空或1个是有序的不用处理 return; for (int i = 0; i <...原创 2019-10-28 19:56:10 · 104 阅读 · 0 评论 -
0045 Ubuntu常用指令(与mysql,python,hadoop,spark,java ,g++,编辑器等相关)
本帖用于记录自己常用指令,不断更新中。与Python相关:与hadoop,Spark相关:与g++相关:与Java相关:与编辑器有关:原创 2016-04-28 17:00:51 · 379 阅读 · 0 评论 -
0066 Linux中多个Java文件打包成单个可运行jar文件及其manifest.mf文件编写规则
自己学习整理的Java前期必备技能,文中参考了许多CSDN博客,在此就不一一列出了,但仍怀感激之情。希望本文对初学Java者有帮助并以此督促自己进步。原创 2016-11-10 23:17:25 · 1905 阅读 · 0 评论 -
0069 drools workbench 在wildfly上的搭建
最近几天搞drools规则引擎的可视化页面操作,看CSDN上有人用Tomcat搭建成功的,也有人绕进去一个MySQL安装成功的,但自己死活搞不出来。于是到谷歌去找答案,同样用Tomcat搭建失败的案例一大堆,终于在黑暗中找到曙光:为什么不用wildfly代替Tomcat呢?所以试着用wildfly来搭建drools workbench,搞了四天终于成功了!目的:搭建drools规则引擎的可视化操作...原创 2017-09-14 20:22:58 · 2945 阅读 · 0 评论 -
0077 LeetCode(力扣)解题录
771. 宝石与石头class Solution { public int numJewelsInStones(String J, String S) { int count = 0; for (int i = 0; i<S.length() ; i++){ if ( J.indexOf(S.charAt(i)) != -1 ){ ...原创 2019-08-31 23:37:40 · 194 阅读 · 0 评论 -
0046 Linux(ubuntu14.04)下安装java及其环境配置
ubuntu14.04下安装java及其环境配置原创 2016-05-03 19:22:49 · 2709 阅读 · 0 评论