Java进阶实战笔记
文章平均质量分 56
Java进阶实战,直通高级工程师之路
LeonardoZzzz
史家之绝唱,无韵之HelloWorld
展开
-
【日志脱敏】Springboot集成日志框架脱敏实战
SpringBoot实现日志脱敏原创 2023-03-07 11:29:12 · 1378 阅读 · 0 评论 -
【Git】使用笔记
开发必备知识git的使用原创 2022-07-20 16:49:41 · 174 阅读 · 0 评论 -
【设计模式_5】Singleton 单例模式-懒汉式-饿汉式-加锁
Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。(比如一个军队出现了多个司令员同时指挥,肯定会乱成一团),所以只有使用单例模式,才能保证核心交易服务器独立控制整个流程。Java程序写法:1.单例类:构造方法私有、创建静态对象实例sta原创 2021-07-19 14:01:11 · 288 阅读 · 0 评论 -
【设计模式_4】FactoryMethod工厂方法
一、简介以Template模板方法架构获取产生对象实例的工厂就是Factory Method Pattern。父类:规定对象的创建方法,但不深入到较为具体的类名;子类:所有具体的完整内容都放子类。二、示例建立一个生产身份证的工厂类名包名说明Productframework抽象类-定义抽象方法use()Factoryframework抽象类-实现方法createIDCardidcard抽象类-实现方法use()IDCardFactoryidca原创 2021-06-13 00:09:38 · 132 阅读 · 0 评论 -
【设计模式_3】TemplatePattern模板方法
一、TemplatePattern简介模板的方法:定义在父类实现抽象的方法:子类父类制定处理大纲,子类规定具体内容。二、程序示例目的:反复输出5次同一字符串AbstractDisplay抽象类package TemplatePattern;public abstract class AbstractDisplay { public abstract void open(); public abstract void close(); public abstract原创 2021-06-10 23:31:12 · 124 阅读 · 0 评论 -
【设计模式_2】AdapterPattern适配器
一、适配器模式简介“换个包装再度利用”,适配器的功能就是介入既有内容和需要的结果之间,作为沟通的桥梁。Adapter Pattern又称Wrapper Pattern,Wrapper 意为“包装纸”,好像一件平平无奇的商品,经过包装纸一番装扮后,摇身一变成为送人的礼品。某物具有转换能力就意味着它做适配器、包装器。二、样例1——继承程序利用类的适配器模式,输出(Hello)以及*Hello*实体类Bannerpackage AdapterExtends;public class Banner原创 2021-06-09 11:31:19 · 79 阅读 · 0 评论 -
【设计模式_1】IteratorPattern迭代器
设计模式之迭代器模式原创 2021-06-08 22:33:59 · 179 阅读 · 0 评论 -
图形滑动验证码JAVA实现【前后端结合】
一、为什么要验证码? 防暴力破解的课题一直是信息安全的重点,漏洞攻击更是开发者的噩梦。。。。 如果没有经历过这个噩梦,请感受一下被信安部门支配的恐惧。(一大堆漏洞给扫出来,您修代码吧)二、怎么实现的? 前端:HTML+JS+CSS 开源组件:Layui 后端:Java 后端框架:SpringBoot 思路:后端随机读取一张图片,利用算法随机“抠图”,返回base64码值到前端 前端读取到base...原创 2020-05-24 18:50:55 · 12147 阅读 · 16 评论 -
常见单向加密算法的调用【懒人大法】
把DigestUtils作为自用工具类,把注释打开就可以简单测试,可运行(org.apache.commons.codec.digest.DigestUtils)省去了翻源码的时间,PS:这些算法只有加密,无解密,所以,别费劲了package com.chinaunicom.rights.util;import org.apache.commons.codec.digest.D...原创 2020-04-11 11:53:59 · 478 阅读 · 0 评论 -
Java基础(八)常用正则
本文概括一些正则表达式的常规用法,以Java语言实现,所有代码皆可copy至本地运行原创 2020-01-06 11:14:01 · 226 阅读 · 0 评论 -
算法小题(一):按字典排序的子字符串
用友2018秋招算法小题原题目:/** * 找出连续数字字串的[开始元素,连续个数] * 样例: * input: 8 3 4 5 6 9 12 16【一行输入,按空格分隔】 * output: [3,4] */注意:遍历下一个元素时,数组越界问题public class Main { public static void main(String[] args...原创 2018-09-15 16:15:24 · 386 阅读 · 0 评论 -
算法小题(六):EatingDays
18年爱奇艺秋招题目:局长与食物原题目菊长有有N种食物,每种食物有Ai 份。每天局长会吃一份食物,或买一份食物(即每天只进行一项行为),就酱过了M 天,现在局长想知道M 天后第p种食物的份数排名(从大到小,相同算并列)/** * 1.局长有N种食物,每种食物Ai份,i代表食物号码1~N * 2.局长每天吃一份食物,或买一份食物(进食或买食) * 3.过了M天,求第p种食物...原创 2018-09-23 15:39:35 · 227 阅读 · 0 评论 -
算法小题(五):选举镇长
选举镇长:反向朋友圈问题来源:18年QiHu360秋招笔试题原题目为: 某公司员工 Alex 最近申请了一个长假,一个人背着包出去自助游了。 路上,他经过了一个小镇,发现小镇的人们都围在一棵树下争吵。Alex上前询问情况,得知小镇的人们正缺一个镇长,他们希望能选一个知名又公正的镇长,即,大家希望能选出一个人,所有人都认识他,但同时他不认识镇上除自己以外的其他人(在此,...原创 2018-09-18 10:43:59 · 332 阅读 · 0 评论 -
JAVA面向对象小程序(二):俄罗斯方块s
今天,我们来使用Eclipse制作一个小游戏《Tetris~》资源在文末一、游戏机制a) 7种小块儿随机生成i.一块放置在顶部(随时间下降)ii.另一块置于右侧,提示下一个随机生成块iii.七种形状:“O、L、J、I、T、S、...原创 2018-05-27 00:15:37 · 3913 阅读 · 2 评论 -
Java知识点(三):JVM内存结构,包装类与异常
1.JVM内存结构 三大区域: 方法区:用来存储程序运行所需的类信息 如String.class,静态方法,常量池(存整数) 堆:所有引用类型的对象信息(实例) 栈:存储方法的参数以及方法内的局部变量(方法结束释放) --栈帧:在栈中,JVM会给每一个方法单独分配空间 此空间用来存储方法内的所有变量(局部/全局) 此方法结束后,栈帧消失,内存释放 垃圾回收机制:...原创 2018-06-02 23:09:49 · 213 阅读 · 0 评论 -
Java知识点(四):Date,Calendar时间与日历类
我们来通过几个实操,来了解Date类的几个用法 1.声明一个Date now对象【util包下的Date类】 Date now = new Date( );now.toString //【调用Date中重写的toString( )】System.out.println(now.toString); ...原创 2018-06-03 22:41:03 · 607 阅读 · 0 评论 -
Java基础篇(五):final关键字
转载自: https://www.cnblogs.com/dolphin0520/p/3736238.html一.final关键字的基本用法 在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。下面就从这三个方面来了解一下final关键字的基本用法。 1.修饰类 当用final修饰一个类时,表明这个类不能被继承。也就是说,如果一个类你永远不...转载 2018-08-14 10:45:46 · 157 阅读 · 0 评论 -
Java基础篇(六):ArrayList源码解析
Leo使用的JDK:1.8.0_131ArrayList简介 ArrayList 是一个数组列表,相当于动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口。ArrayList 继承了AbstractList,实现了Lis...原创 2018-08-31 23:01:50 · 182 阅读 · 0 评论 -
18年阿里校园秋招笔试(送快递)
题目如下: 思路:深度优先搜索+回溯注意事项:最终要回到起点 首先是定义一个“坐标点”类 属性包含:x坐标y坐标 该点是否被经过的标记 方法包含:计算距离package Alibaba.Transport;public class Point { int x; int y; bo...原创 2018-09-01 11:53:11 · 524 阅读 · 0 评论 -
Java知识点(七)JVM内存结构(一张图搞定)
JVM分五大区域:1.程序计数器 2.Java虚拟机栈 3.本地方法栈 4.方法区 5.堆下面是直观的绘图 【如有需要请点击放大镜】=====================================事实上并没有那么简单============================一、可能发生的ERROROutOfMemoryError 程序计数器...原创 2018-09-01 19:04:45 · 645 阅读 · 0 评论 -
算法小题(二):简单递归
关于递归:程序调用自己的编程技巧叫做递归。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。例如:文中代码、Fibonacci数列求解、汉诺塔等缺点:易发生St...原创 2018-09-15 16:49:21 · 276 阅读 · 0 评论 -
算法小题(三):两线程交替输出1~99
一、回顾Thread的常用法方法1.start():启动线程并执行相应的run()方法 2.run():子线程要执行的代码放入run()方法中 3.currentThread():静态的,调取当前的线程 4.getName():获取此线程的名字 5.setName():设置此线程的名字 6.yield():调用此方法的线程释放当前CPU的执行权 7.join():在A线程中调用B线...原创 2018-09-16 10:00:28 · 380 阅读 · 0 评论 -
算法小题(四):找出"快乐数字"
一、拆分各数字求平方和,若最终结果为1则此数为"快乐数字"来源:多益网络 2018秋招笔试题,【注意:编译器不使用Scanner类】原题目:/** * 快乐数字: * 1.输入一个数字 * 2.判断拆分各位数,求平方和 * 3.最终结果为1则返回true,否则返回false * 例如: * input:19 * 1^2 + 9^2 = ...原创 2018-09-16 11:08:47 · 487 阅读 · 0 评论 -
Java基础篇(一):类与对象--------总结小归纳
JAVA的世界——万事万物皆对象。面向对象概念: 1.万物皆对象; 2.将不同类型的数据 抽象出来; 3.重新定义一种事物,起名后,就是一种类型; 4.把数据封装到对象中; 5.使用数据时,使用类的实例; 6.通过调用实例,来使用我们需要的数据。类的定义: 1.修饰词 class class className{} 2.成员变量 3.成员方法(方法中也是把数据、属性、逻辑封装起来)...原创 2018-05-21 13:47:31 · 393 阅读 · 0 评论