自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 问答 (1)
  • 收藏
  • 关注

原创 java高阶玩法:建造者+继承+注解

java 实际开发高级操作

2023-05-26 15:55:35 57

原创 java 建造者+继承的实现方案

实际开发高阶操作:建造者+继承

2023-05-26 15:22:35 69

原创 力扣学习回文数字

public class LongestPalindromeDemo { /* 给你一个字符串 s,找到 s 中最长的回文子串。 示例 1:输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2:输入:s = "cbbd"输出:"bb" 提示:1 <= s.length <= 1000s 仅由数字和英文字母组成来源:力扣(LeetCode)链接:https://leetcode-cn.com/prob

2022-03-02 10:36:21 156

原创 Fork/Join并发框架demo

介绍Fork/Join框架是Java 7提供的一个用于并行执行任务的框架,是一个把大任务分割成若干 个小任务,最终汇总每个小任务结果后得到大任务结果的框架。 我们再通过Fork和Join这两个单词来理解一下Fork/Join框架。Fork就是把一个大任务切分 为若干子任务并行的执行,Join就是合并这些子任务的执行结果,最后得到这个大任务的结 果。比如计算1+2+…+10000,可以分割成10个子任务,每个子任务分别对1000个数进行求和, 最终汇总这10个子任务的结果demoimport jav

2021-09-30 10:03:12 111 2

原创 实际开发使用多线程

个人私货,实际开发中运用多线程技术public interface ThreadPool<Job extends Runnable> { // 执行一个Job,这个Job需要实现Runnable void execute(Job job); // 关闭线程池 void shutdown(); // 增加工作者线程 void addWorkers(int num); // 减少工作者线程 void removeWorker(i

2021-09-14 15:13:46 253

原创 个人学习补充数据结构之栈

声明:感谢尚硅谷的公开资料和视频数据结构之栈栈的英文为(stack)栈是一个先入后出(FILO-First In Last Out)的有序列表。栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元素最后删除应用:子程序的调用:在跳往子程序

2021-08-29 01:00:04 55

原创 个人学习之程序员常用算法

声明:感谢尚硅谷的公开资料和视频程序员常用算法二分查找算法(非递归)package algorithm.search;/** * 二分查找 循环方式实现 */public class BinarySearchNoRecursion { public static void main(String[] args) { int[] arr = {1,3, 8, 10, 11, 67, 100}; int i = binarySearch(arr, 8)

2021-08-13 15:58:42 127

原创 个人学习之图graph

声明:感谢尚硅谷的公开资料图graph理论深度遍历广度遍历实例package dataStructure.graph;import java.util.ArrayList;import java.util.Arrays;import java.util.LinkedList;/** * 数据结构-图 */public class Graph { private ArrayList<String> vertexList;//存储顶点集合

2021-08-06 17:20:50 118

原创 个人学子之多路查找树

声明:感谢尚硅谷的公开资料多路查找树2-3树B树B+树B*树1628241450994)]B*树

2021-08-06 17:18:29 48

原创 个人学习之平衡二叉树(AVL)

声明:感谢尚硅谷的公开资料平衡二叉树(AVL)左旋右旋双旋示例package dataStructure.selfBalancingBinarySearchTree;public class SelfBalancingBinarySearchTreeDemo { public static void main(String[] args) { // int[] arr = {4, 3, 6, 5, 7, 8}; // int[] arr =

2021-08-06 10:37:00 54

原创 个人学习之二叉排序树

声明:感谢尚硅谷的公开资料二叉排序树package dataStructure.binarySortTree;/** * 二叉排序 */public class BinarySortTreeDemo { public static void main(String[] args) { int[] arr = {7, 3, 10, 12, 5, 1, 9, 2}; BinarySortTree binarySortTree = new Binary

2021-08-05 16:05:50 52

原创 个人学习之赫夫曼树、霍夫曼树

声明:感谢尚硅谷的公开资料,造福了无数后来程序员赫夫曼树、霍夫曼树import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.stream.Collectors;/** * 哈夫曼树、霍夫曼树 */public class HuffmanTree { public static void main(String[] args) {

2021-08-05 11:05:24 79

原创 个人学习之排序算法

声明:感谢尚硅谷提供的公开资料排序算法介绍冒泡排序import java.util.Arrays;/** * 内部排序-交换排序-冒泡排序 * 后面优化如果一趟比较下 * 来没有进行过交换,就说明序列有序,因此要在排序过程中设置 * 一个标志flag判断元素是否进行过交换。 */public class BubbleSorting { public static void main(String[] args) { //int arr[

2021-08-04 09:59:10 62

原创 个人学习之二叉树

特别感谢尚硅谷公开资料与视频二叉树基本概要顺序存储二叉树线索化二叉树demoimport java.util.ArrayList;import java.util.List;/** * 线索化二叉树 */public class ThreadedBinaryTreeDemo { public static void main(String[] args) { // 测试中序线索化二叉树 ThreadedHeroNode

2021-07-26 10:44:03 58

原创 个人学习之数据结构之哈希表实现

特别感谢尚硅谷提供的公开教学视频数据结构之哈希表package dataStructure.hashtable;import java.util.Scanner;public class HashDemo { public static void main(String[] args) { MyHashTable myHashTable = new MyHashTable(7); String key = ""; boolean loo

2021-07-07 15:31:57 42

原创 个人学习之查找算法

首先感谢尚硅谷提供的的公开的数据结构教学视频查找算法1) 顺序(线性)查找/** * 线性查找 */public class SeqSearch { public static void main(String[] args) { int arr[] = {1, 8, 10, 89, 1000, 1234}; int i = seqSearch(arr, 9999); if (-1==i){ System.out.

2021-07-06 17:00:33 46

原创 个人学习-排序算法笔记

排序算法(此处不是打广告,本人借鉴尚硅谷公开的相关资料学习。审核必看)介绍冒泡排序import java.util.Arrays;/** * 内部排序-交换排序-冒泡排序 * 后面优化如果一趟比较下 * 来没有进行过交换,就说明序列有序,因此要在排序过程中设置 * 一个标志flag判断元素是否进行过交换。 */public class BubbleSorting { public static void main(String[] args) {

2021-06-15 15:35:30 63

原创 个人学习:递归之迷宫问题和八皇后问题

迷宫问题public class Labyrinth { /** * 说明: * 小球得到的路径,和程序员 设置的找路策略有关即:找 路的上下左右的顺序相关 * 再得到小球路径时,可以先 使用(下右上左),再改成(上 右下左),看看路径是不是有变化 * 测试回溯现象 * 思考: 如何求出最短路径? * * @param args */ public static void main(String[] args

2021-06-10 14:11:34 64

原创 个人学习:前缀表达式(波兰表达式),后缀表达式(逆波兰表达式),中缀转后缀表达式

前缀表达式(波兰表达式)前缀表达式又称波兰式,前缀表达式的运算符位于操作数之前举例说明: (3+4)×5-6 对应的前缀表达式就是 - × + 3 4 5 6从右至左扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(栈顶元素 和 次顶元素),并将结果入栈;重复上述过程直到表达式最左端,最后运算得出的值即为表达式的结果例如: (3+4)×5-6 对应的前缀表达式就是 - × + 3 4 5 6 , 针对前缀表达式求值步骤如下:从右至左扫描,将6、5、

2021-06-09 14:41:11 108

原创 个人学习:数据算法和结构之中缀表达式2021-06-03

中缀表达式实现多位数加减乘除package dataStructure;public class Calculator { public static void main(String[] args) { String express = "30+2*3-2+4/2";// 考虑多位数 // 数字栈 ArrayStack2 numberStack = new ArrayStack2(10); // 符号栈 Arra

2021-06-03 15:32:00 37

原创 ribbon负载均衡算法的实现

80端口import org.springframework.cloud.client.ServiceInstance;import java.util.List;public interface LoadBalancer { ServiceInstance instances(List<ServiceInstance> serviceInstances);}import com.atguigu.springcloud.lb.LoadBalancer;import org.

2021-04-10 11:00:04 49

原创 mockito单元测试之静态方法

静态方法的测试<!-- mock测试相关 --> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-all</artifactId> <version>2.0.2-beta</version> <scope>test</scope> </dependency> &

2021-02-05 15:45:17 717 3

原创 mockito测试controller

controller层测试// request response HttpServletRequest request = mock(HttpServletRequest.class); HttpServletResponse response = mock(HttpServletResponse.class); String ids= "31010919850214201X"; when( request.getParameter("ids")).thenReturn(ids);

2021-02-05 15:43:52 837

原创 多线程开发理论

并发编程挑战并发机制的实现原理后续更新中

2021-01-31 14:58:08 79

原创 单元测试mockito

import com.alibaba.fastjson.JSON;import org.junit.Before;import org.junit.Test;import org.mockito.InjectMocks;import org.mockito.Mock;import org.mockito.MockitoAnnotations;import java.util.ArrayList;import java.util.HashMap;import java.util.List;

2021-01-27 11:22:07 100

原创 freemarker自定义宏和Function

隐位操作<#-- 姓名的隐位操作--><#macro implicit_name name> <#if name !=''> <#--${name}--> <#-- ${name?replace(name?substring(name?length-1),"*")}--> <#if name?length gt 3> <#--${"**"+name?

2021-01-27 11:14:55 598

原创 函数式编程

函数式编程观点和原则lambda表达式纯函数引用透明性初等函数高阶函数组合柯里化闭包不可变性函子加强版函子单子lambda之前是通过使用匿名类来实现,处于性能(匿名实现方式需要加载太多的生成类)和定制化(未来的变化)的考虑,其实现方式使用java7中引入的动态调用而不是匿名类纯函数针对相同的输入总会产生相同的输出例子 写入到文件/控制台/网络/屏幕 修改外部变量/状态 调用非纯函数 启动进程引用透明性函数针对相同的输入得到相同返回值得一种属性,针对特定函

2021-01-23 21:26:41 255

原创 设计模式初步学习

创建型模式单例模式简单的单例模式public class Signleton{ private static Signleton instance; private Signleton(){ System.out.println(" Signleton is Instantiated "); } public static Signleton getInstance(){ if(null == instance){

2021-01-16 16:40:49 152

原创 个人学习之约瑟夫环学习

约瑟夫环package linkedList;import java.util.Stack;/** * 约瑟夫、约瑟夫环问题 * @author port * */public class JosephuDemo { public static void main(String[] args) { Josephu josephu = new Josephu(); josephu.addBoy(125); josephu.showBoy(); // 测试小孩出圈是

2020-12-20 19:07:51 59

原创 个人学习之双向链表

双向链表package linkedList;/** * 单向链表 * @author port * */public class DoubleLinkedListDemo { public static void main(String[] args) { // 先创建节点 HeroNode2 heroNode1 = new HeroNode2(1, "唐僧", "师傅"); HeroNode2 heroNode2 = new HeroNode2(2, "孙悟空", "大

2020-12-19 16:38:08 62 1

原创 个人单向链表学习

个人学习之单向链表import java.util.Stack;/** * 单向链表 * @author port * */public class SingleLinkedListDemo { public static void main(String[] args) { // 先创建节点 HeroNode heroNode1 = new HeroNode(1, "唐僧", "师傅"); HeroNode heroNode2 = new HeroNode(2, "孙悟空

2020-12-19 15:45:30 73 1

原创 个人学习数据结构与算法之数组实现环形队列

个人学习累计资料package queue;import java.util.Scanner;import javax.management.RuntimeErrorException;import com.sun.webkit.ContextMenu.ShowContext;/** * 数组模拟环形队列 * @author port * */public class CircleArrayQueueDemo { public static void main(String[

2020-11-07 23:42:19 52

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除