自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (1)
  • 论坛 (1)
  • 收藏
  • 关注

原创 ArrayList原理底层剖析

回顾HashMap:HashMap原理底层剖析注意以下文章可能有描述和理解上的错误,如果出现错误请到评论区指出,我会第一时间修改问题。也希望文章能解决你的疑惑。

2021-05-09 16:06:36 44 5

原创 HashMap原理底层剖析

注意以下文章可能有描述和理解上的错误,如果出现错误请到评论区指出,我会第一时间修改问题。也希望文章能解决你的疑惑。HashMap结构图HashMap底层数据结构:Entry数组+链表+红黑树(JDK1.8版本) Entry+链表(JDK1.7版本)...

2021-05-03 00:04:51 6597 40

原创 JAVA基于Swing和netty仿QQ界面聊天小项目

1.前言2.功能实现3.模块划分4.使用到知识5.部分代码实现6.运行例图1.前言   先说一下这个小项目也算是我在大学做的第一个应该算的上是的项目的项目,前前后后用了20天左右吧。先是用swing写好了仿QQ界面(界面很丑)最后逻辑实现都是后面断断续续加进去的。写这个项目之前没有很好的规划在逻辑实现方面与数据库逻辑交互过于频繁。走了很多的弯路2.功能实现1.修改功能(密码、昵称、个性签名)2.添加好友、删除好友3.单聊功能4.判断好友是否在线3.模块划分4.使用的知识ne

2020-11-11 18:29:59 8279 201

原创 宝塔安装redis及第一层次启动

前言:在网上找了好多的方法都不行最后看到一篇文章试了一下成功了打开宝塔面板在商店搜索redis打开php安装redis拓展去redis安装目录下执行"make install"执行redis-server 配置文件名称 启动服务端再执行redis-cli 6379 当然你可以去设置密码登录至此启动成功希望能给你带来帮助...

2021-04-28 08:56:58 73

原创 递归实现迷宫、八皇后、汉罗塔 等问题

断了两天、所以还是开心学算法的第七天程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。 一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进;当边界条件.

2021-01-30 19:21:18 240 7

原创 逆波兰表达式、中缀转换为后缀表达式

开心学算法的第6天中缀表达式实现简易计算器接上篇中缀计算器的实现,这篇实现后缀表达式(逆波兰表达式)实现计算器,以及中缀表达式转换为后缀表达式。后缀表达式计算器的实现后缀表达式:3 4 + 5 * 6 -实现思路:只需要一个栈用来存储数值,在遍历的过程中遇到字符时就需要将数栈出栈两个元素并调用上一篇所实现的compute计算函数计算的值并将结果入栈,在遍历完成之后将结果入栈依次类推,最后栈中只剩余一个元素并且打印结果。 //后缀 //从左向右依次入栈只存在一个数栈,如果遇到运算.

2021-01-27 20:21:52 318 4

原创 使用中缀表达式实现一个简易计算机

开学学算法的第5天使用中缀表达式基于栈实现一个简易的中缀表达式。实现思路:先对其判断字符str.charAt(i)是数字还是运算符,如果是数字直接入数栈,如果是运算符先判断是否栈空,栈空则直接入栈,栈不为空则判断当前运算符优先级和栈顶运算符优先级比较,当前运算符优先小于等于栈顶运算符,出两个数字栈,一个字符栈并做运算,将运算结果入栈,并将当前运算符入栈。依次遍历完字符。最后判断字符栈是否为空,为空直接出数字栈为最终结果,不为空则出数字栈两个元素,出运算符栈一个元素并计算然后将结果入数字栈,直到运算.

2021-01-26 18:38:30 469 2

原创 环形单链表的增删改查、约瑟夫环两种解法

开心学算法的第四天环形单链表环形列表结构构造环形列表class singleLinked<E>{ //环形列表头节点 private Node<E> head; //环形列表元素个数 private int size; class Node<E>{ private E val; private Node<E> next; public Node(E val){.

2021-01-25 15:23:33 662 7

原创 自定义实现单链表增删改查、栈的入栈和出栈

开心学习算法数据结构的第三天内容单链表单链表的概念1.什么是单链表?单链表是一种链式存取的数据结构,用一组地址任意的存储单元存放线性表中的数据元素。链表中的数据是以节点来表示的,每个节点的构成:元素(数据元素的映象) + 指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。存放的数据是不连续的。以下是链表的指向不连续。实际结构:2.单链表相对于数组有哪些优缺点?数组:优点:随机访问性强,查找速度快缺点:1、对内存的要求高,必须要.

2021-01-23 20:59:43 248

原创 什么是稀疏数组

比较项抽象类接口方法可以抽象非抽象方法所有的方法都是从抽象方法属性可以有非静态常量所有的属性都是静态常量构造方法有构造方法无构造方法继承一个类只能继承一个类一个类可以继承多个接口被继承一个类只能继承一个父类一个接口可以同时继承多个接口...

2021-01-22 12:45:56 279

原创 八种排序算法及部分算法的优化

             排序算法排序算法在面试中可以说是必会问到的知识点,所以我们必须得掌握。排序冒泡排序思路:如上图片每一趟从一个元素开始两个相邻的元素依次作比较,如果当前元素大于下一个元素则交换元素依次类推即可。冒泡排序就是把小的元素往前调或者把大的元素往后调。比较是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,是不会再交换的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变,所以冒泡排

2021-01-21 20:18:36 217

原创 JAVA网络编程学习TCP、UDP

好久没写了,学习折磨人的期末考试网络七层结构国际标准化组织提出的开放式系统互联通信参考模型OSI(Open System Interconnection Reference Model)各层的简要功能如上图TCP/IP协议簇T C P / I P协议族是一组不同的协议组合在一起构成的协议族,TCP是传输层的协议,IP是网络层的协议。TCP/IP与七层结构各层之间的对应关系应用层:提供网络应用的服务传输层:保证源程序到目的程序的端到端的可靠通信(端口)网络层:源主机到目的主.

2021-01-04 17:03:43 200

原创 Spring-MVC 踩坑 这个问题困扰了3、4天

注入bean失败问题去网上搜索了好几天,然后什么原因都有,没有一个能解决我的问题,配置文件也配置好久,一直修改配置文件改来该去一直没有改出来,最后发现我少了一个包spring-jdbc,添加之后修改成功。[ERROR] Failed startup of context org.mortbay.jetty.plugin.Jetty6PluginWebAppContext@6107165{/,E:\JAVA文件图论\框架学习\Spring_MVC\src\main\webapp}org.springfr.

2020-12-13 10:48:08 260

原创 chat聊天小项目的数据库结构

JAVA基于Swing和netty仿QQ界面聊天小项目以下是我的数据库表数据结构,建表没有关联好,你们自己改哈哈哈哈user表friend表information以上是我的数据库的数据结构,我的数据库脚本文件我找不到...

2020-11-27 14:29:09 249

原创 mybatis从头学到jio(二)

前情回顾mybatis从头学到jio(一)这里写目录标题前情回顾${} 与 #{}区别#{}${}typeAliases标签动态SQLif标签trim标签where标签foreach标签模糊匹配缓存机制一级缓存二级缓存高级映射一对一一对多多对多延时加载${} 与 #{}区别#{}@Select("select * from Student where SID=#{sid}")public Student getStudentBySID(int sid);Preparing: select *

2020-11-27 00:04:57 2218 3

原创 学不会的银行家算法

     这是我们期末的课程设计,没有控制台输入资源,直接测试的程序,逻辑应该没什么问题什么是死锁?      死锁是指两个或者两个以上的进程(线程)在执行的过程中,由于竞争资源而造成的阻塞问题,若无外力的作用下会无法继续推进,此时系统称之为死锁状态。银行家算法:主要是避免死锁产生死锁的的必要条件:互斥条件:一个资源只能被一个进程占用,如果一个进程请求当前资源,资源被占用的时候,这.

2020-11-20 00:59:36 3647 22

原创 自定义Mybatis深入了解实现原理

mybatis介绍一这个实现过程全部是跟着B站黑马学习 学习地址 具体操作的流程图bean包user.javadao包UserDao.javamybatisannoationconfigConfiguration.javaMapper.javaIOResources.javasqlSessiondefaultsDefaultSqlSession.javaDefaultSqlSessionFactory.javaproxyMapperProxy.javaSqlSession.javaSqlSessio

2020-11-16 16:35:22 477

原创 Mybatis从头学到jio(一)

以下所有的示例都将操作user、orders、orderdetail表| Table | Create Table

2020-11-14 04:51:37 663

原创 java新手需了解的常用类、拆装包干货
原力计划

Java入门到精通(一)语言基础Java入门到精通(二)流程控制Java入门到精通(三)数组介绍Java入门到精通(四)字符串Java入门到精通(五)面向对象java入门到精通(六)面向对象知识拓展...

2020-05-05 14:53:10 1617 2

原创 讲个老年人都能听懂的异常处理
原力计划

Java入门到精通(一)语言基础Java入门到精通(二)流程控制Java入门到精通(三)数组介绍Java入门到精通(四)字符串Java入门到精通(五)面向对象java入门到精通(六)面向对象知识拓展异常处理的简介:...

2020-04-27 22:20:41 1502

原创 康拓排列以及全排列老年人听不懂系列
原力计划

以下三个题都是LeetCode题库里面的。1.给定一个没有重复数字的序列,返回其所有可能的全排列。示列: 输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]整个的过程就如下图,我们可以利用循环让他从第一个元素开始排列,从根开始遍历依次记录节点的值记录在集合之中。可以根据图可得这是一个回溯算法...

2020-04-25 21:50:11 400

原创 创建线程的三种方法及并发并行的简单介绍
原力计划

并发与并行并发编程的目的是为了让程序运行得更快,但是,并不是启动更多的线程就能让程序最大限度地并发执行。并发与并行的区别:并发是指多个线程操作同一个资源,不是同时执行,而是交替执行,单核CPU也支持多线程执行代码,CPU通过给每个线程分配CPU时间片来实现这个机制。时间片是CPU分配给各个线程的时间,因为时间片非常短,所以CPU通过不停地切换线程执行,让我们感觉多个线程是同时执行的,时...

2020-04-21 13:05:22 394

原创 java入门到精通(六)面向对象知识拓展
原力计划

Java入门到精通(一)语言基础Java入门到精通(二)流程控制Java入门到精通(三)数组介绍Java入门到精通(四)字符串Java入门到精通(五)面向对象1.类的封装封装是所有的面向对象编程的核心思想,将对象的行为和属性封装起来,其载体就是类,类通常会对用户隐藏实现细节,这里举个例子就是:厨师做菜,他不可能把做菜的细节给你客户暴露,所以去饭店经常会看到非工作人员禁止进入。下面我们...

2020-04-17 00:47:11 367

原创 线程的几种状态和方法介绍
原力计划

线程的状态及转化public enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED; }NEW:新建状态用new创建的线程处于新建状态,此时他和其他的Java对象一样,仅仅在堆中分配了内存,没有调用...

2020-04-11 15:20:40 390

原创 java入门到精通(五)面向对象
原力计划

前面的内容:java入门到精通(一)语言基础Java入门到精通(二)流程控制Java入门到精通(三)数组介绍Java入门到精通(四)字符串1.面向对象概述面向对象程序设计(OOP),面向对象思想是人类最自然的一种思考方式,它将预处理的问题都进行了抽象,同时要了解对象拥有的属性以及行为。面向对象的实质是对现实世界的对象进行了建模。(1)对象万物都可为对象,有生命和没有生命的都可抽...

2020-04-08 20:57:42 444 1

原创 Java入门到精通(四)字符串
原力计划

虽然之前已经对字符串进行了整理,但是我感觉之前总结的不好,所以重新总结一下。前面的内容:Java入门到精通(一)语言基础Java入门到精通(二)流程控制Java入门到精通(三)数组介绍1.字符串的声明初始化对字符串声明初始化 String str1 = "123"; String str2;//这时候str2值是null str2 = "...

2020-04-01 19:50:15 351

原创 Java入门到精通(三)数组介绍
原力计划

上期内容:Java入门到精通(一)语言基础Java入门到精通(二)流程控制1.一维数组以上是一维数组的结构。(1)创建一维数组int arr[];//数组中的每个元素都是int型double[] arr;//数组中的每个元素都是double型以上创建的数组没有初始化并不能访问元素,所以必须对数组初始化才能访问元素。int a[] = {1,2,3};int b[] = ne...

2020-03-31 22:12:29 372

原创 java入门到精通整理(二)流程控制
原力计划

上期内容:java入门到精通整理(一)语言基础1.程序结构程序结构可分为三种:1.顺序结构、2.选择结构、3.循环结构1.顺序结构:按照代码的书写顺序执行的程序。2.选择结构:根据输入数据和中间结果的不同选择执行不同的语句(选择语句由条件语句构成)。3.循环结构:在一定的条件下反复执行一段程序,决定循环语句的结束由判断语句作为循环条件来控制。2.条件语句(1)if…else条件语句...

2020-03-30 22:13:24 610

原创 java入门到精通整理(一)语言基础
原力计划

1.代码注释与语言规范(1)、单行注释:“//”为单行注释标记,从符号“//”开始到行结束(2)、多行注释:“/* /”为多行注释标记,符号“/ ”与“*/”之间的所有内容都为注释内容(3)、文档注释:“/* /”文档注释标记。“/**” 与 “/”之间的内容为文档注释内容//单行注释/*注释内容*/**语言规范:在编码的时候所有的标点符号必须是英文、一个类中只能有一个ma...

2020-03-29 21:12:11 920

原创 统计文件中出现次数最多的个数

统计文件中出现次数最多的3个数,打印该数及对应的次数出现次数import javafx.scene.layout.Priority;import java.io.BufferedReader;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import...

2020-02-27 12:32:05 485

netty+swing实现仿QQ.rar

使用netty+swing实现的聊天小项目

2021-01-27

Java字符转成字符串的方式有多少种?

发表于 2021-01-25 最后回复 2021-01-25

空空如也

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

TA关注的人 TA的粉丝

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