- 博客(47)
- 资源 (3)
- 收藏
- 关注
原创 二分查找——寻找比目标字母大的最小字母
二分法:就是将给出的数组进行一分为二,尽可能的缩小查找范围。题目提到,要求找到大于target的最小字符,给出的数组又是非递减,因此可以得到,最后我们二分得到的一个最接近正确答案的坐标。如果小于或等于target,证明在此组数组中,没有符合的答案。如果不存在这样的字符,则返回。,该数组按非递减顺序排序,以及一个字符。里至少有两个不同的字符。
2023-04-23 14:50:04
181
原创 排序算法之快速排序和归并排序-Java实现
快速排序快速排序是对冒泡排序的进一步改进。排序思想主要是每次找一个基准数,小于基准数的放前面,大于基准数的放后面,再依次对基准数左边和右边的数组进行相同的操作,递归实现时间复杂度:最好的情况是O(nlogn),最差的情况是O(n^2)public static void main(String[] args) { int[] arr = {1, 232, 4, 3, 5, 7, 84, 6}; printf(arr); sort(arr, 0, arr
2021-12-07 09:56:35
570
原创 springboot项目基于Docker的gitlab-runner的CI/CD实践,实操问题记录并解决办法
1. 项目以容器方式构建1.1. 在项目中添加dockerFile【springboot项目的根目录下】FROM mcr.microsoft.com/java/jdk:11-zulu-alpineRUN adduser --disabled-password --gecos '' xxxUSER xxxARG JAR_FILE=target/*.jarCOPY ${JAR_FILE} /main/program/hxl-test/test.jarENTRYPOINT ["java","-jar
2021-11-12 17:54:58
1919
2
原创 解决企业微信配置应用回调之后本地收到多次相同的回调信息
神坑-企业微信配置应用回调之后本地收到2次相同的回调信息背景最近做企微开发的时候遇到问题:配置客户联系应用的回调地址之后,本地接收到了2次相同的回调信息原因:“客户联系应用“ 可调用应用可以选择自建应用 自建应用设置了回调, 可见范围成员触发也会进行回调解决办法办法1:去除可调用应用里,配置了相同回调地址的自建引用但是,去除之后,自建应用不能调用客户联系接口,这个影响较大办法2:可以设置不同的url 或者同一url进行带参处理;例如:a应用设置为 http://www.abc.c
2021-03-23 18:20:58
2170
2
原创 HDFS常用的shell命令
HDFS1.什么是HDFS?HDFS全名为Hadoop Distributed File System,是一个分布式的文件系统,通过目录树来定位文件,是众多文件系统中的一种。2.HDFS使用场景?HDFS使用场景:适合一次写入,多次读出的场景,且不支持文件的修改。3.HDFS的优点3.1. 高容错性(1)数据自动保存多个副本,通过增加副本的形式,提高容错性(2)某一个副本丢失以后,它会自动恢复3.2. 适合处理大数据(1)数据规模:能处理GB,TB甚至PB级别的数据(2)文件规模:能够
2021-03-22 22:34:41
311
原创 新手搭建hadoop2.x集群并群起集群,并设置节点间SSH免密登录
新手搭建hadoop2.x集群并群起集群,并设置节点间SSH免密登录1.前提首先由于hadoop至少需要3台服务器,所以我们需要准备三台虚拟机,由于每个节点(虚拟机)很多的配置文件要去配置,而且差异不大,这个时候我们需要一种同步工具,我们期望能做到在一台节点修改之后,能同步到其它节点1.1.rsync命令rsync的作用:如果文件发生改变,可以同步不同的节点中,而且只同步发生了改变的部分rsync的语法:rsync -rvl 本地目录 账号@hostname:目录在rsync的基
2021-03-20 00:28:02
336
3
转载 Typora快捷键
一:菜单栏文件:alt+F编辑:alt+E段落:alt+P格式:alt+O视图:alt+V主题:alt+T帮助:alt+H二:文件新建:Ctrl+N新建窗口:Ctrl+Shift+N打开:Ctrl+O快速打开:Ctrl+P保存:Ctrl+S另存为:Ctrl+Shift+S偏好:Ctrl+,关闭:Ctrl+W三:编辑撤销:Ctrl+Z重做:Ctrl+Y剪切:Ctrl+X复制:Ctrl+C粘贴:Ctrl+V复制为MarkDown:Ctrl+Shift+C
2020-10-04 10:46:42
248
1
原创 【探索】单例模式与多线程
单例模式结合多线程技术1.饿汉模式/“立即加载”立即加载就是使用类的时候已经将对象创建完毕,常见的实现方法是直接new 实例化。1.1 立即加载型单例模式创建MyObject.java:public class MyObject { private static MyObject myObject = new MyObject(); private MyObject(){ } public static MyObject getInstance(){
2020-07-02 15:16:50
112
原创 【探索】定时器Timer的使用
定时器Timer的使用Time类的主要作用就是设置计划任务,但封装任务的类却是TimeTask类,执行计划任务的代码要放入TimerTask的子类中,因为TimeTask是一个抽象类。1.方法schedule(TimeTask task,Date Time)的测试该方法的作用是在指定的日期执行一次某一任务。1.1 执行任务的时间晚于当前时间:在未来执行的效果创建Run1.java类:import java.text.ParseException;import java.text.Simple
2020-06-29 17:13:51
418
原创 类ThreadLocal的使用和类InheritableThreadLocal的使用
类ThreadLocal的使用变量值的共享可以使用public static变量的形式实现,所有的线程都使用同一个public static变量,那如何实现每一个线程都有自己的变量呢?JDK提供的ThreadLocal可用于解决这样的问题。类ThreadLocal主要解决的就是每个线程绑定自己的值,可以将ThreadLocal类比喻成全局存放数据的盒子,盒子中可以存储每个线程的私有数据。类ThreadLocal解决的是不同线程之间的隔离性,也就是不同线程拥有自己的值,不同线程中的值是可以放入Threa
2020-06-22 19:35:16
172
原创 关于多线程之synchronized关键字
对象及变量的并发访问1.synchronized同步方法synchronized关键字可用来保障原子性、可见性、和有序性。我们需要掌握的是:1)synchronized对象监视器为Object时的使用方法2)synchronized对象监视器为Class的使用方法1.1方法内的变量为线程安全非线程安全问题存在于实例变量中,对于方法内部的私有变量,则不存在线程安全问题。1.2 实例变量非线程安全问题如果多个线程共同访问一个对象中的实例变量,则有可能会出现非线程安全问题。两个线程同时访问同一
2020-06-19 16:34:13
235
原创 【探索】停止线程和暂停线程
停止线程和暂停线程停止一个线程意味着在线程处理完任务之前停止正在做的操作,也就是放弃当前的操作,虽然看起来非常简单,但是要做好防范措施。1. 方法1:使用Thread.stop(),但不推荐2. 方法2:使用Thread.interrupt()2.1 使用实例:创建文件MyThread.java:public class MyThread extends Thread{ @Override public void run() { super.run();
2020-06-16 19:16:05
423
原创 【探索】初识多线程之非线程安全
初识多线程之非线程安全非线程安全问题主要指多个线程对同一个对象中的同一个实例变量进行操作时会出现值被更改、值不同步的情况。实例变量共享造成的非线程安全例如:在实现投票功能的设计时,多个线程同时处理同一个人的票数创建:类MyThreadpublic class MyThread extends Thread{ private int count = 5; @Override public void run() { super.run(); c
2020-06-15 18:54:24
270
原创 【工作笔记之element及vue的问题解决记录】
1.思路:vue中的父子组件传值,可以实现父组件的按钮触发某个子组件的显示(比如:表单)2. 在vue中导入js文件,并要使用里面的函数:首先引入在js文件:import {A} from 'url'然后在js文件中导出你要使用的函数A(如果A是主函数,B,C,D函数都被A调用),那么直接在js文件的最下面,函数外导出:export {A}然后在vue中使用A(param1,param...
2020-04-16 11:03:51
441
2
原创 【Vue学习笔记之,父子组件之间的传值(着重于父组件传对象值到子组件)】
今天学习到vue中,父子组件的传值例子:父组件 ————> 子组件<parent> <sonComponent:sonValue="editSon" ref="sonComponent"></sonComponent> <!--其中editSon为父组件的data中的值-></parent>import son...
2020-04-02 19:20:54
1931
转载 SSM入门级最完整的框架,可以直接拿来做项目用,非常适合新手。
一.技术点1.基础框架 ssm (spring+springmvc+mybatis)2.数据库 mysql3.前端框架 bootstrap快速搭建简洁美观的界面4.项目的依赖管理maven5.分页 pagehelper6.逆向工程 mybatis Ge...
2019-06-10 17:32:28
8103
4
原创 数据结构之表结构【数组,链表的实现方式】(数据结构读后感 一)
最近除了在看Java虚拟机外,我还在学习数据结构与算法分析(Java语言),这是因为前段时间去公司面试的时候被问到一些数据结构和算法都有点不知所措,程序不就是=数据结构+算法吗,我想要作为一名合格的程序员,所以我准备啃下这本书,不管再难都得啃下,人生不亦如此吗。嘻嘻,我是一个打不倒的元气妹首先要学习的是最简单和最基本的三种数据结构:表,栈和队列。每一个有意义的程序都将显示的至少使用一种这样的数...
2018-12-20 15:52:24
281
原创 垃圾收集算法(读后感四——学习垃圾收集器如何回收内存)
书上这样说,由于垃圾收集算法的实现涉及大量的程序细节, 而且各个平台的虚拟机操作内存的方法区又不相同,因此可不过多的讨论算法的实现,只需了解几种算法的思想及其发展过程。有以下几种算法:标记-清除算法,复制算法,标记-整理算法,分代收集算法标记-清除算法:是其他几种算法的基础 ,就是把要回收的内存做个标记,然后根据标记去回收内存。这种算法的不足之处有两点:一,效率不高,需要先去进行标...
2018-12-18 18:37:48
219
原创 垃圾收集器与内存分配策略(读后感三:回收内存)
在前两篇博客中,我们有学习到在Java虚拟机中,内存的分配以及创建对象的过程我们已经知道,程序计数器,虚拟机栈,本地方法栈都是线程私有的,随着线程的生而生,随着线程的死而消亡,当一个方法或者线程结束时,内存就自然的被回收了。但是在Java堆和方法区中,只有在程序运行时我们才知道要创建哪些对象,所以这部分的内存的分配和回收都是动态的,所以,垃圾收集器所关注的就是部分内存,回收的就是这部分内存。...
2018-12-14 17:18:05
162
原创 Java内存区域与内存溢出异常(读后感二 Java对象的创建)
在上一章节,我们学到了Java虚拟机中内存的分配,但是Java是一门面向对象的编程语言,在Java程序运行过程中无时无刻都有对象被创建出来,在语言层面上,我们只知道只要一new,对象就被创建了出来,但是在Java虚拟机中,对象(这里的对象 仅仅是指普通的Java对象,不包括数组和Class对象等)创建又是怎么样的一个过程呢?下面的是我画的创建对象虚拟机内的一系列过程概图:第一步:虚拟机...
2018-12-13 19:45:26
129
原创 Java内存区域与内存溢出异常(读后感 一Java虚拟机的内存分配)
最近买了一本Java虚拟机这本书来看,理解到了Java虚拟机的底层技术的复杂性。这是一篇记录第二章Java内存区域与内存溢出异常的读后感,若有不对的,还望大佬指出;文章的开头说,Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的“高墙”,墙外的人想进来,墙里的人想出来。现在的我还不是很能理解为什么作者要说这样一句话,我希望通过我后面的学习能透彻理解到这句话的含义。Jav...
2018-12-13 19:04:52
113
原创 Map总结
忽略开头:一个请求包含:请求行+消息头+消息正文请求行由一行字符串组成的,以CRLF两个符合结尾,CR:回车,用ASCII码13表示,LF:换行,用10表示请求行:请求方式+请求资源路径+协议版本eg:GET /index.html HTTP/1.1(CRLF)消息头:由若干行组成,每一行为一个消息头,每个头的格式 : name : value(CRLF) 在消息头的最...
2018-10-20 17:31:04
271
原创 集合总结
在编程过程中,我们有很多时候都会遇到存储一组数据的问题,这个时候我们第一反应就是用数组,但是,数组的长度在声明的时候就已经给定,不可改变,我们面临着数组的扩容问题:数组的大小固定,不可直接扩容,我们只可以通过数组复制的方法变相的给数组扩容:利用Arrays.copyOf(param1,param2);第一个参数是要复制的数组,第二个参数新的长度,返回的是一个数组。public sta...
2018-10-20 11:23:50
146
转载 JVM堆内存设置原理
文章转自:https://blog.csdn.net/sivyer123/article/details/17139443 堆内存设置原理JVM堆内存分为2块:Permanent Space 和 Heap Space。P...
2018-08-27 19:46:33
198
原创 java中的if语句(总结{}和if中的;)
java中if语句:if语句:用于判断,可以单分支,也可以多分支单分支:if(判断语句){//满足,则执行的代码块}else{//不满足判断语句时,执行的代码块}多分支:if(判断语句1){//满足判断语句1,执行的代码块}else if(判断语句2){//不满足判断语句1,满足判断语句2,执行代码块}else{//既不满足语句1,也不满足语...
2018-08-15 19:41:00
18436
1
转载 线程的相关知识(线程生命周期)
1、进程和线程的概念进程:运行中的应用程序称为进程,拥有系统资源(cpu、内存)线程:进程中的一段代码,一个进程中可以有多段代码。本身不拥有资源(共享所在进程的资源);在java中,程序入口被自动创建为主线程,在主线程中可以创建多个子线程。区别: 1、是否占有资源问题 2、创建或撤销一个进程所需要的开销比创建或撤销一个线程所需要的开销大。 3、进程为重量...
2018-08-11 09:43:37
141
转载 HttpServletRequest对象
孤傲苍狼只为成功找方法,不为失败找借口! javaweb学习总结(十)——HttpServletRequest对象(一) 一、HttpServletRequest介绍 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。二...
2018-08-01 11:40:17
361
转载 (转) java 进制转换(利用API)
菜鸟一枚,将自己了解的Java进制及数据类型进行说明如下 1.Java的基本数据类型: 数字类型byte1字节int (表示整数)4字节long (表示整数)8字节float (表示小数)4字节double...
2018-07-29 10:27:51
1089
原创 java基础之访问修饰符
访问修饰符也叫访问控制符,是指能够控制类、变量、方法的使用权限的关键字。java有四种访问修饰符,分别是:private、默认、protected、publicpublic:用public修饰的类、变量、方法能被项目中其他所有的类所用,只是如果不在同一个包中,则需要通过import导入完整的类名,即包名.类名protected:受保护的被protected修饰的,只能在本类中、本包...
2018-07-23 19:40:54
258
原创 java基础之内存管理(引用类型及基本数据类型)
JVM负责管理内存空间,内存被分为三个部分:堆、栈、还有方法区。堆:存放new出来的对象以及其成员变量栈:存放局部变量(方法里的都是局部变量)方法区:存放class字节码文件(包含方法)引用类型变量里存放的是指向堆中其引用类型对象的地址,而基本数据类型里存放的是具体的数类和数组,都是引用类型,引用类型变量的默认值都为null。引用类型变量之间画等号,不是赋值,而是指向同一个对象,修改其中一个的值,...
2018-07-13 16:45:49
343
原创 java基础之对面向过程的理解
OO:面向对象OOA :面向对象分析OOD:面向对象设计OOP:面向对象编程我们都是从面向对象编程过程做起,再慢慢做到面向对象分析与设计,面向对象分析与设计不分家面向对象过程以方法为单位,以方法的调用实现目的。public static void main(String[] args) { print("hxl",21); } public static void print(Stri...
2018-07-11 12:05:30
201
原创 java基础之猜字符小游戏
游戏目的:系统随机生成五个不重复的字符,用户输入自己所猜想的字符,回车提交答案之后返回结果:猜对的字符个数和猜对的字符位置个数,最后答对返回所得分数项目分析:设计数据结构+设计算法一:设计数据结构(设计变量):整个游戏涉及的变量:1):系统随机生成的字符:(相同类型且逻辑相同,故选择字符数组)char [] chs;2) :用户输入的字符 char [] input;3):返回的字符对个数和位...
2018-07-09 19:50:50
782
3
原创 java开发环境及相关名词解释
java编译运行过程:过程分为两期:编译期和运行期:编译期:由java源文件,经过编译,生成.class字节码文件,然后在运行期:经过JVM加载.class文件,并运行.classjava编译的文件是可以通过跨平台,一次编译之后就可以到处使用。名词:JVM:java虚拟机,加载.class文件并运行.classJRE:java运行环境,JRE=JVM+java系统类库(小零件)JDK:java开发...
2018-07-09 19:38:12
207
原创 我的第一个简单springmvc
第一步:我们需要导入必要的包,如下:commons-logging-1.1.1.jarspring-aop-4.2.4.RELEASE.jarspring-aspects-4.2.4.RELEASE.jarspring-beans-4.2.4.RELEASE.jarspring-context-4.1.4.RELEASE.jarspring-core-4.2.4.RELEASE.jar...
2018-06-09 16:33:55
180
原创 MVC 简单的注册功能
今天实现一个简单的注册功能:首先提到注册,就会想到数据库连接,ajax异步传输数据校验,利用mvc架构进行分工。首先,要能连接数据库 需要数据库jar包 -----设计专门的DBUtil类1.用户名,密码及数据库名称 加载驱动 数据库的关闭其次,要有相应的sql语句----设计一个专门的写sql的包然后,有相应的方法执行sql语句1.用dao层及daoImpl层实现方法,用
2018-02-02 21:54:54
533
原创 SpringMVc学习(六)
今天新学了一个springmvc的表单标签首先,使用springmvc的表单标签可以实现将模型数据中的属性和HTML表单元素相绑定,以实现表单数据更便捷编辑和表单值的回显。一般情况下,通过GET请求获取表单页面,而通过POST请求提交表单页面,因此获取表单页面和提交表单页面的url是相同的,只要满足该最佳条件的契约,就无需通过action属性指定表单提交的URL。可以通过mod
2017-12-05 14:32:38
241
原创 RESTful SpringMvc
在用springmvc实现RESTful之前,我们需要提一下springmvc的重定向。一般情况下,控制器方法返回字符串类型的值会被当做逻辑视图名来处理。如果反悔的字符串中带有forward:或者redirect:前缀时,springmvc会对它们进行特殊处理,将forward:或者redirect:当做指示符,其后的字符串作为URL来处理。那什么叫做REST呢?REST
2017-12-04 18:22:03
243
原创 配置视图 BeanNameViewResolver 解析器
我们可以通过配置直接转发的页面,而不用经过handler(controller)的方法。 如果我们不加上mvc:annotation-driven标签,那我们以前的配置就不能再继续使用了,具体原因,以后我们再详细的学习。俗称 :自定义视图首先实现视图view 接口@RequestMapping("/
2017-11-28 16:58:32
1807
原创 InternalResourceViewResolver
若在项目中使用了JSTL,则SpringMVC会自动把视图由InternalResourceView转为JstlView,若使用JSTL的fmt标签需要在SpringMVC的配置文件中配置国际化资源文件。这样springmvc的view就变成了jstlview好,我们现在来演示一下如何使用国际化资源文件首先我们需要把jstl的jar包添加到项目中:jstl.jar、standard
2017-11-28 16:19:36
1007
erlang_environment_win64_21.0.1.zip
2020-12-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人