java
文章平均质量分 67
本栏记录顺子学习Java的心得,已经整理的知识,顺子很开心与你一同学习哦!
Mr顺
acm/蓝桥杯刷题狂,熟悉掌握Java/python/C++/C后端语言,前端vue/jQuery/JavaScript/jsp也能写,喜欢研究底层逻辑,请多指教。
展开
-
万字文:通过分析 JDK 源代码研究 TreeMap 红黑树算法实现
课程资料主要来源于马士兵教育,整理仅供大家学习TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点。TreeSet 和 TreeMap 的关系为了让大家了解 TreeMap 和 TreeSet 之间的关系,下面先看 TreeSet 类的部分源代码:public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cl原创 2021-11-18 17:34:06 · 134 阅读 · 0 评论 -
《每日Java面试题day1》垃圾回收与算法
《每日Java面试题day1》垃圾回收与算法如何确定垃圾标记清除算法(Mark-Sweep)**复制算法**(**copying**)**标记整理算法(Mark-Compact)****分代收集算法****新生代与复制算法****老年代与标记复制算法**如何确定垃圾引用计数法在 Java 中,引用和对象是有关联的。如果要操作对象则必须用引用进行。因此,很显然一个简单的办法是通过引用计数来判断一个对象是否可以回收。简单说,即一个对象如果没有任何与之关联的引用,即他们的引用计数都不为 0,则说明对象不太原创 2021-10-17 16:49:02 · 983 阅读 · 1 评论 -
HttpClient实现RPC
HttpClient实现RPC1 HttpClient简介2 代码实现2.1 服务端2.1.1 新建控制器2.1.2 新建启动器2.2 客户端2.2.1 添加依赖2.2.2 新建类2.2.2.1 使用GET方法访问2.2.2.2 使用POST方式访问3. Jackson用法3.1 把对象转换为json字符串3.2 把json字符串转换为对象3.3 把json字符串转换为List集合4 HttpClient请求包含JSON4.1 java原创 2021-10-13 20:05:34 · 1064 阅读 · 2 评论 -
创建Spring Boot项目时候出现:Artifact contains illegal characters(日常小bug记录)
今天在使用IDEA创建Spring Boot项目的时候,报“Artifact contains illegal characters” :原创 2021-10-03 17:42:59 · 1351 阅读 · 0 评论 -
Error creating bean with name ‘army‘ defined in class path resource [applicationContext.xml]: Cannot
自从学会用idea之后就很少用eclipse了,但是今天写ssm配置文件的时候遇到了一个bug,这里记录一下。十月 01, 2021 12:00:41 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@7aec35a: sta原创 2021-10-01 12:06:15 · 783 阅读 · 0 评论 -
❤️一篇文章带你了解分页插件❤️PageHelper❤️
PageHelper插件我们在正常的查询业务之中,只需要加上一行代码就可以实现分页的数据的封装处理实现原理PageHelper方法使用了静态的ThreadLocal参数,分页参数和线程是绑定的。内部流程是ThreadLocal中设置了分页参数(pageIndex,pageSize),之后在查询执行的时候,获取当线程中的分页参数,执行查询的时候通过拦截器在sql语句中添加分页参数,之后实现分页查询,查询结束后在 finally 语句中清除ThreadLocal中的查询参数使用方法1.调用PageHe原创 2021-09-26 21:40:02 · 1442 阅读 · 5 评论 -
Cannot resolve symbol ‘String‘(这种情况很少见)
Cannot resolve symbol ‘String‘(这种情况很少见)(1)特殊情况看这问题原因:可能安装新的jdk导致系统无法对老jdk进行正常交流。方法是:将老jdk卸载,新的jdk也卸载,重新安装jdk,其实就是重新配置Java环境这样系统唯一忠诚于Java开发环境这种情况很少见,在网上查了很多资料都没解决后来也算是不断尝试解决了。(2)通常情况看这里其它的情况多为Java小白初次使用IDEA不会配置或忘记配置早成的原因。其实写这篇博客是为第一种方法提供解决方法的。原创 2021-09-23 20:16:05 · 4120 阅读 · 0 评论 -
一台计算机上模拟多台服务器(详细教程)
大家好,我是Mr顺欢迎入坑,下面我介绍一台计算机上模拟多台服务器的方法,欢迎大佬指教!原创 2021-09-20 17:39:53 · 5331 阅读 · 1 评论 -
Spring之面向接口增强实现类
代理模式是通过代理对象访问目标对象,这样可以在目标对象基础上增强额外的功能,如添加权限,访问控制和审计等功能。例如:房产中介代替业主卖房静态代理静态代理中代理类与被代理类都需要实现同一个接口,这就说明我们的一个静态代理类只能代理一个类,并且还要事先知道我们要代理哪个类才能写代理类,如果我们有其他类还想使用代理那就必须再写一个代理类。然而在实际开发中我们是可能是有非常多的类是需要被代理的,并且事先我们可能并不知道我们要代理哪个类。所以如果继续使用静态代理反而会增加许多的工作量,并且效率低下,代码复用原创 2021-09-03 21:17:53 · 1915 阅读 · 3 评论 -
Redis常问的40道面试题❤️,我这里已经整理好了(很详细)❤️
Redis常问的40道面试题(答案)1、什么是 Redis?Redis 优势Redis 与其他 key-value 存储有什么不同?2、Redis 的数据类型?3、使用 Redis 有哪些好处?4、Redis 相比 Memcached 有哪些优势?5、Memcache 与 Redis 的区别都有哪些?6、Redis 是单进程单线程的?7、一个字符串类型的值能存储最大容量是多少?8、Redis 的持久化机制是什么?各自的优缺点?9、Redis 常见性能问题和解决方案:10、redis 过期键的删除策略?11、原创 2021-06-21 15:51:56 · 15772 阅读 · 4 评论 -
vuejs简单入门(1/3)
vuejs简单入门资料参考黑马程序员课程。1.VueJS 概述与快速入门1.1 VueJS介绍Vue.js是一个构建数据驱动的 web 界面的渐进式框架。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。它不仅易于上手,还便于与第三方库或既有项目整合。官网:https://cn.vuejs.org/1.2 MVVM模式MVVM是Model-View-ViewModel的简写。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,原创 2021-06-02 15:14:21 · 1303 阅读 · 0 评论 -
JVM调优----GC的基础知识(这些你都知道吗?)
GC的基础知识1.什么是垃圾C语言申请内存:malloc freeC++: new deleteJava: new ?自动内存回收,编程上简单,系统不容易出错,手动释放内存,容易出两种类型的问题:忘记回收多次回收没有任何引用指向的一个对象或者多个对象(循环引用)2.如何定位垃圾引用计数根可达算法3.常见的垃圾回收算法标记清除 - 位置不连续 产生碎片拷贝算法 - 没有碎片,浪费空间标记压缩 - 没有碎片,效率偏低4.JVM内存分代模型(用于分代垃圾回收算法)原创 2021-08-31 09:43:34 · 1876 阅读 · 1 评论 -
Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource
IDEA版本不同,导致有些书写格式也是不同的从报错信息来看,是由于找不到resource中xml配置文件,经过多次尝试:<mappers> <mapper resource="com/mrshun/dao/DeptDao.xml"/></mappers>通过了,后来在网上了解,得知其实是IDEA版本原因。...原创 2021-08-18 16:05:13 · 2153 阅读 · 0 评论 -
JavaWeb项目中出现乱码,送你三种解决方法
问题背景:package com.mrshun;/** * get请求 * 获取字符串之后使用new String(name.getBytes("iso-8859-1"),"UTF-8") * */import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servl原创 2021-08-05 10:44:05 · 12576 阅读 · 2 评论 -
IDEA如何向项目中导包(图文解释)
IDEA如何向项目中导包问题出现:解决方法:最后说一句:IDEA和eclipse没有好坏,只不过是我们付诸行动的一种工具罢了。原创 2021-08-02 10:59:29 · 2421 阅读 · 0 评论 -
Spring+Spring MVC+MyBatis这些问题你会吗?
Spring+Spring MVC+MyBatis基础问题你会几个?1.1【思考题】 1、请简述Spring框架的优点。 2、请简述什么是Spring的IoC和DI。2.1【思考题】 1、请简述Bean的生命周期。 2、请简述Bean的几种装配方式的基本用法3.1【思考题】 1、请列举你所知道的AOP专业术语并解释。 2、请列举你所知道的Spring的通知类型并解释。4.1【思考题】 1、请简述Spring JDBC是如何进行配置的。 2、请简述Spring JdbcTemplate类中几个常用方法的作用。原创 2021-07-30 08:36:42 · 7908 阅读 · 0 评论 -
检测java是否连接到SQL server数据库 + SQL server数据库内置账户sa无法登录
由于比较简单:所以直接上代码了。 public static void main(String [] args) { String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver"; String dbURL="jdbc:sqlserver: 127.0.0.1:1433;DatabaseName=stmt"; test为你的数据库名 String userName="sa"; 你的数据库用户名 String us原创 2020-10-14 17:01:10 · 7044 阅读 · 3 评论 -
基于JSP+Mysql+servlet网络考试系统
项目设计背景:在我们以往的考试经历中,我们可以看到,每次考试都需要经过出试卷、印试卷、发卷、做卷、收卷、阅卷、统计等过程,这几个过程有着很强的先后次序,不能顺序颠倒。这些过程中,又以出卷、阅卷和统计最为复杂,当一次考试涉及的人数众多时,老师需要批阅非常多的卷子,重复的批阅卷子浪费了大量的时间,此外,不仅效率底下,同时大量的阅卷工作也让老师疲于应付,最后导致阅卷的准确率下降。即便阅卷完成之后,工作还没结束,还需要对这些卷子进行分数登记、成绩统计以及对各个题目进行错误率统计,这些工作消耗时间非常多,因此效率也原创 2021-07-12 11:22:06 · 10258 阅读 · 9 评论 -
Class File Editor Source not found The JAR file....解决方案(超详细)
问题背景:eclipse中查看API出现:Class File Editor Source not found The JAR file E:\apache-tomcat-8.0.41-windows-x86\apache -tomcat-8.0.41\Vib\servlet apijar has no source attachment. You can attach the source by clicking Attach Source below:找到自己的jdk安装的位置,找到src.zip原创 2021-07-08 17:51:56 · 1516 阅读 · 0 评论 -
jsp必须知道的25个简单知识点
jsp必须知道的25个简单知识点1、简述jsp程序的运行原理及过程。2、Jsp语法中主要包含三种指令标识,他们的作用和语法格式分别是什么?3、有几种方法可以实现页面包含外部文件,请描述其实现方法及代码。4、请写出常用的5个jsp内置对象,并说明他们的作用?5、标准javabean需要遵循那些规范?6、三层架构及其特点。7、简述B/S,C/S模式。8、Jsp常用动作标志9、Jsp中的常见注释10、Jsp脚本标识包含哪些元素,语法格式是什么?11、比较include指令和include动作在包含外部文件时的异同原创 2021-07-03 11:37:51 · 4892 阅读 · 2 评论 -
jsp简单案例(供小白学习)
几个简单jsp案例1.日期显示2.以表格形式显示图书信息3.超链接,文本框的形式显示图书信息4.网页访问次数的显示5.使用javabean计算园的周长和面积6.接收前台页面表单以post方式传过来的数据并显示7.get方式(猫狗显示)8.编写注册页面,提交并显示9.接收数据并显示借阅次数与总借阅次数10.request获得属性值11.猜数游戏12.application实现网页访问计数14,五分钟免密登录1.日期显示<%@ page language="java" contentType="tex原创 2021-07-03 11:07:11 · 17317 阅读 · 4 评论 -
JavaWeb编程基础简单题目
JavaWeb编程基础简单题目一.单选题/关于处理文件上传时,form表单的enctype属性取值是()A 默认值B、multipart/form-dataC、form-data/multipartD、application/x-www-form-urlencoded正确答案: B//2/关于FileItem类的 getContentType()方法获取普通表单字段的结果是()A、出现异常B、返回””C、 返回nullD、返回none正确答案: C原创 2021-05-25 13:44:52 · 4200 阅读 · 0 评论 -
java架包导包
面向问题:某java文件A中定义类需要被其他文件B中的类调用。 思路:将A文件架包-jar,将-jar导入到B文件中.新建文件夹bin用于存储jar包找到jar,用鼠标拖到需要它工程的bin中原创 2020-11-15 15:31:58 · 1280 阅读 · 0 评论 -
SpringMVC框架(1/3)
学习SpringMVCSpringMVC框架第一天第一章:三层架构和MVC三层架构咱们开发服务器端程序,一般都基于两种形式,一种C/S架构程序,一种B/S架构程序使用Java语言基本上都是开发B/S架构的程序,B/S架构又分成了三层架构三层架构表现层:WEB层,用来和客户端进行数据交互的。表现层一般会采用MVC的设计模型业务层:处理公司具体的业务逻辑的持久层:用来操作数据库的MVC模型MVC全名是Model View Controller 模型视图控制器,每个部分各司其职。Mode原创 2021-05-25 15:16:20 · 2062 阅读 · 0 评论 -
SpringMVC框架(2/3)
SpringMVC第二天第1章 响应数据和结果视图1.1 返回值分类1.1.1 字符串1.1.2 void1.1.3 ModelAndView1.2 转发和重定向1.2.1 forward转发1.2.2 Redirect重定向1.3 ResponseBody响应json数据1.3.1 使用说明1.3.2 使用示例 需求: 使用@ResponseBody注解实现第2章 SpringMVC实现文件上传2.1 文件上传的回顾2.3.3 拷贝jar包 在我们负责处理文件上传的项目中拷贝文件上传的必备jar包2.3.原创 2021-06-13 22:04:58 · 1649 阅读 · 2 评论 -
JAVA经典算法(11-20)
JAVA经典算法42例【11.排列组合】【12.奖金计算】【13.求加上100且加上168都可以被开方的数】【14.判断某日期是某年的第几天】【15.三数排序】【16.乘法口诀表9*9】【17.猴子吃桃子】【18.乒乓球比赛】【19.菱形打印】【20.求规律分数前n项和】【11.排列组合】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。public class原创 2020-08-18 12:55:16 · 654 阅读 · 0 评论 -
JAVA经典算法(1-10)
JAVA经典算法42例【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21…public class exp2{ public static void main(String args[]){ int i=0; for(i=1;i<=20;i++) System.out.println(f(i));原创 2020-08-18 12:27:10 · 1709 阅读 · 0 评论 -
JAVA经典算法(41-42)
JAVA经典算法42例【41.排序算法比较】【42.数字的条件排列】【41.排序算法比较】java排序算法的比较import java.util.*; import java.io.*; public class SortAlgorithm { static Random rand = new Random(); void bubbleSort(int[] numlist) // 冒泡排序算法 { int temp; for(int j=1;j<numlist.length;j+原创 2020-08-18 14:27:53 · 288 阅读 · 0 评论 -
java对象和类
java面向过程和对象对象:对象是类的一个实例,有状态和行为。例如,一本《三国演义》就是书这个类的一个对象,它的状态有:书名、作者、出版社、书号、定价等;行为有:读书、写书、借书、买书等。类:类是一个模板,它描述一类对象的行为和状态。软件对象也有状态和行为。软件对象的状态就是属性,行为通过方法体现。在软件开发中,方法操作对象内部状态的改变,对象的相互调用也是通过方法来完成。图片: 1.面...原创 2020-04-03 17:00:01 · 317 阅读 · 0 评论 -
JAVA经典算法(31-40)
JAVA经典算法42例【31.数组逆序输出】【32.取一个整数a从右端开始的4~7位】【33.杨辉三角】【34.三个数排序】【35.数组最大之交换】【36.简单排序】【程序37】【38.求一个字符串的长度】【程序39】【40.猴子吃桃子2】【31.数组逆序输出】题目:将一个数组逆序输出。程序分析:用第一个与最后一个交换。其实,用循环控制变量更简单: for(int k=11;k>=1;k--) System.out.print(myarr[k]+",");【32.取一个整数原创 2020-08-18 14:22:46 · 1340 阅读 · 0 评论 -
关于数组的API应用练习:
1、数组元素的查找:binarySearch(String str, String objStr)方法能够实现对已排序的数组进行快速查找。练习:快速查找数组a中的元素。import java.util.Arrays;public static void main(String[] args) {String[] a = {“a”, “d”, “e”, “w”, “f”};Arrays.s...原创 2020-04-03 17:08:58 · 296 阅读 · 0 评论 -
java笔记:lambda和异常
lambda和异常(一) Lambda(二)异常(一) Lambda引入Lambda1.用匿名内部类实现package work1;//定义动物类接口interface Animal { void shout();}public class Example21 { public static void main(String[] args) { String name = "小花"; // 定义匿名内部类作为参数传递给animalShout()方法 animalShout(n原创 2020-09-02 11:41:47 · 521 阅读 · 4 评论 -
JAVA经典算法(21-30)
JAVA经典算法42例【21.求前n项的阶乘之和】【22.递归求阶乘】【23.递归求年龄】【24.求某数字位数和各个位的数】【25.回文数】【26.根据星期的第一个字母判断星期几】【27.求100之内的素数】【28.对10个数进行排序】【29.求一个3*3矩阵对角线元素之和】【30.有序数组插入元素】【21.求前n项的阶乘之和】题目:求1+2!+3!+…+20!的和1.程序分析:此程序只是把累加变成了累乘。public class Ex21 { static long sum = 0; sta原创 2020-08-18 13:27:15 · 1574 阅读 · 0 评论 -
对象和类
面向过程和面向对象的比较:面向过程 面向对象1 按步骤完成具体功能; 将若干对象抽象后形成类:书的描述:书名,作者,出版社,定价;——属性实例对象:《西游记》《水浒传》《三国演义》《红楼梦》:书名,作者,出版社,定价;对象:对象是类的一个实例,有状态和行为。例如,一本《三国演义》就是书这个类的一个对象,它的状态有:书名、作者、出版社、书号、定价等;行为有:读书、写书、借书、买书等。类:...原创 2020-04-08 17:49:26 · 443 阅读 · 0 评论 -
<%@ taglib prefix=“c“ uri=“http://java.sun.com/jsp/jstl/core“ %>报错
standard.jar和jstl.jar一起使用下载地址:http://www.pc6.com/softview/SoftView_442534.html将其添加到tomcat的lib中图胜于文之后点击OK 结束!原创 2021-02-21 17:22:43 · 1239 阅读 · 0 评论 -
Tomcat环境配置(超级简单)
第一步:官网下载Tomcat包第二步:配置环境变量中新建在path中添加信息第三步:测试win+r--------->cmd输入:startup.bat有疑问可以私信我。原创 2021-02-20 21:27:21 · 5654 阅读 · 1 评论 -
java完成登录页面+连接数据库
java完成登录页面+连接数据库import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statem原创 2021-01-15 11:11:06 · 19075 阅读 · 1 评论 -
java高级必须会的21个基础问题
1、Java语言中,运算符==和某个类中的equals()方法的区别是什么?(1):==基本类型:比较的是数值是否相同引用类型:比较的是地址值是否相同(2):equals()方法只能比较引用类型。默认情况下,比较的是地址值是否相同。但是,我们可以根据自己的需要重写该方法。2、Java语言中,字符串的特点有哪些?(1):字符串一旦被赋值,就不能改变。这里指的是字符串的内容不能改变,而不是引用不能改变。(2):字符串直接赋值方式,其底层实现是:先去字符串常量池里面去找,如果有就直接返回,如果没原创 2021-01-15 10:48:16 · 2078 阅读 · 2 评论 -
java awt实现计算器
上课老师演示了一遍他的写法,由于没给代码,因此按着他的思路撸了一遍,感觉还很简单。代码以及解释如下:import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing..原创 2020-12-04 18:11:16 · 2559 阅读 · 2 评论 -
集万千恩宠与一身的LinkedHashSet
说到LinkedHashSet不得不说功能非常强大,下面我们一起了解一下LinkedHashSet的功能。首先我们区分一下HashSet和LinkedHashSet的区别:相同点:HashSet和LinkedHashSet都是接口Set的实现,两者都不能保存重复的数据。不同点:主要区别是HashSet不保证集合中元素的顺序,即不能保证迭代的顺序与插入的顺序一致。而LinkedHashSet按照元素插入的顺序进行迭代,即迭代输出的顺序与插入的顺序保持一致。其次我们上代码:class类:publi原创 2020-10-23 17:17:02 · 174 阅读 · 2 评论