java
文章平均质量分 65
梓阡
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
java中Integer类型的缓存
Integer类型的赋值方式有三种直接赋值Integer a = 1;Integer b = 500;Integer.valueOf赋值Integer c = Integer.valueOf(1);通过new的方式创建对象Integer d = new Integer(1);总结Integer有一个IntegerCache类,用于缓存从[-128,127]的整形数,当通过方式一或方式二赋值时,会检查赋的值是否在这个区间内,如果在,直接返回一个引用地址,否则,new一个新对象。原创 2021-09-07 22:03:00 · 669 阅读 · 0 评论 -
拓扑排序及深度优先遍历
使用的算法深度优先搜索(DFS)有向无环图题目描述实现代码import java.util.Scanner;/** * 拓扑排序的分步分析 * * @Description * @author ningqian * @version * @date 2021年6月18日 下午3:14:59 */public class Solution12 { static int totalTime = 0; public static void main(String[]原创 2021-06-18 20:50:34 · 2167 阅读 · 0 评论 -
SSM框架整合问题总结
问题一:MyBatis逆向工程生成的Bean的属性不对应,mapper文件没有主键方法参考文章:https://www.cnblogs.com/ad-zhou/p/10424012.html总结造成该问题的原因是mysql驱动版本升级解决办法:方法一:降低mysql驱动jar包,同时更换低版本的数据库方法二:在逆向工程的配置文件mbg.xml中添加数据库的属性配置: <!-- 配置数据库连接信息 --> <jdbcConnection driver原创 2021-05-28 15:17:55 · 386 阅读 · 0 评论 -
MyBatis学习(五)缓存机制
概述MyBatis 包含一个非常强大的查询缓存特性,它可以非常方便地配置和定制。缓存可以极大的提升查询效率。MyBatis系统中默认定义了两级缓存。一级缓存和二级缓存。默认情况下,只有一级缓存(SqlSession级别的缓存,也称为本地缓存)开启。二级缓存需要手动开启和配置,他是基于namespace级别的缓存。为了提高扩展性。MyBatis定义了缓存接口Cache。我们可以通过实现Cache接口来自定义二级缓存一级缓存(本地缓存)概念与数据库同一次会话期间查询到的数据会放在本地原创 2021-05-24 16:12:44 · 319 阅读 · 3 评论 -
MyBatis学习(四)动态sql
sacav原创 2021-05-24 12:24:54 · 452 阅读 · 1 评论 -
MyBatis学习(三)映射文件
增删改操作编写Dao接口及对应的方法public interface EmployeeMapper { public Employee getEmpById(Integer id); //mybatis允许增删改定义以下类型返回值:Integer,Long,Boolean public void addEmp(Employee employee); public void updateEmp(Employee employee); public void de原创 2021-05-23 22:29:31 · 363 阅读 · 3 评论 -
MyBatis学习(二)全局配置文件概述
全局配置文件全局配置文件指的就是MyBatis学习(一)中的mybatis-config.xml必须实现的两个功能:对数据库的配置绑定sql映射的文件配置<!-- 注意:每个标签必须按顺序写,不然蛋疼的DTD会提示错误:The content of element type "configuration" must match"(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapp原创 2021-05-22 23:02:03 · 386 阅读 · 0 评论 -
Java连接数据库驱动8.0版本配置文件(xml+properties)
主要看以下四个参数,同5.x版本主要不同点是driver和urlxml文件 <!--修改连接配置,注意driver和url对于不同的数据库驱动写法不同,这里是8.0版本的驱动--> <property name="driver" value="com.mysql.cj.jdbc.Driver"/> <property name="url" value="jdbc:mysql://localhost:3306/m原创 2021-05-21 21:24:22 · 1137 阅读 · 0 评论 -
MyBatis学习(一)
基本概念MyBatis是支持定制化sql,存储过程以及高级映射的优秀的持久层框架MyBatis是一个半自动化的持久层框架Hibernate的不足内部自动生产的sql,不容易做优化处理基于全映射的全自动框架,大量字段的POJO进行部分映射比较困难,导致数据库性能下降。对于开发人员而言,核心sql还是需要自己优化下载地址https://github.com/mybatis/mybatis-3/创建一个简单的工程样例创建数据库表单创建数据库mybatis和tbl_employee表原创 2021-05-21 09:59:18 · 247 阅读 · 0 评论 -
idea中光标变成矩形块
有两种情况:按到了键盘的insert键当数字小键盘锁定时按到了上面的某个键解决办法:再按一次insert键原创 2021-05-20 21:51:29 · 3139 阅读 · 2 评论 -
Idea创建动态web工程(SpringMVC)及基本环境的配置
新建一个SpringMVC的项目参考:https://www.jianshu.com/p/91a2d0a1e45a如果启动页没有Spring,证明你是新版使用Idea,在启动页使用快捷键shift+ctrl+alt+/然后选register,接着找到javaee.legacy.project.wizard,选中IDEA 会自动帮我们下载好必要的 jar 包,并且为我们创建好一些默认的目录和文件,创建好以后项目结构如下:修改 web.xml把<url-pattern>元素的值改为原创 2021-05-20 17:16:39 · 510 阅读 · 0 评论 -
eclipse如何修改项目的jdr或jre版本
首先要下载并安装好要使用的jdk或jre版本修改之前的jre版本如下图,我之前是jdk-15,修改成了jdk-8选中项目-右键-propertiesJava Build Path——Libraries选中当前要修改的JRE——双击选择第二项——Alternate JRE——Intalled JREs点击search,选择已安装好的jdk或jre,并在前面打勾Apply and Close...转载 2021-05-17 21:56:29 · 3932 阅读 · 0 评论 -
JavaWeb(十一)JSON、AJAX
JSON作用json 是一种轻量级的数据交换格式。数据交换指的是客户端和服务器之间业务数据的传递格式。json在JavaScript中的使用json的定义json是由键值对组成,并且由花括号包围,每个键由引号引起来,键和值之间使用冒号进行分割,多个键值对之间使用逗号进行分割<script type="text/javascript"> //1. json的定义 var jsonObj = { /*1.基本数据类型*/ "key1":13, "key原创 2021-05-17 16:41:51 · 921 阅读 · 14 评论 -
JavaWeb(十)Filter
什么是过滤器Filter过滤器的作用:拦截请求拦截请求常见场景:(1)权限检查(2)日记操作(3)事务管理…使用步骤Filter 过滤器的使用步骤:1、编写一个类去实现Filter 接口2、实现过滤方法doFilter()3、到web.xml 中去配置Filter 的拦截路径初体验web工程下新建一个admin目录,作为需要权限才能访问的目录,其中有两个文件mynav.html<!DOCTYPE html><html lang="en">&l原创 2021-05-16 21:25:08 · 360 阅读 · 1 评论 -
Cookie和Session
Cookie什么是Cookie?Cookie翻译过来是饼干Cookie是服务器通知客户端保存键值对的一种技术客户端有了Cookie后,每次请求都会发送给服务器每个Cookie的大小不能超过4kb如何创建Cookie对象Servlet中的代码public void createCookie(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException { //1.转载 2021-05-16 10:56:56 · 260 阅读 · 0 评论 -
MVC概念
MVC概念MVC 全称:Model 模型、View 视图、Controller 控制器。MVC 最早出现在JavaEE 三层中的Web 层,它可以有效的指导Web 层的代码如何有效分离,单独工作。MVC三个功能View 视图只负责数据和界面的显示,不接受任何与显示数据无关的代码,便于程序员和美工的分工合作——JSP/HTML。Controller 控制器只负责接收请求,调用业务层的代码处理请求,然后派发页面,是一个“调度者”的角色——Servlet。转到某个页面。或者是重定向到某个页面原创 2021-05-15 19:44:15 · 375 阅读 · 0 评论 -
JavaWeb(九)文件的上传和下载
文件的上传如何上传文件要有一个form标签,method=post请求(因为post请求没有长度限制)form标签的enctype属性值必须为multipart/form-data值(表示提交的数据以多段的形式进行拼接,然后以二进制流的形式发送给服务器)在form标签中使用input type=file添加上传的文件编写服务器代码(Servlet程序)接收,处理上传的数据(要使用流的形式接收)代码实现创建一个上传的jsp页面,命名为upload.jsp<%-- Create原创 2021-05-12 15:38:46 · 332 阅读 · 2 评论 -
JavaWeb(八)JSTL标签库
基本概念JSTL 标签库全称是指JSP Standard Tag Library JSP 标准标签库。是一个不断完善的开放源代码的JSP 标签库。EL 表达式主要是为了替换jsp 中的表达式脚本,而标签库则是为了替换代码脚本。这样使得整个jsp 页面变得更佳简洁。...原创 2021-05-12 09:04:55 · 280 阅读 · 0 评论 -
JavaWeb(七)EL表达式
EL表达式基本概念EL:Expression Language 是表达式语言EL表达式的作用:EL表达式主要是替代jsp页面中的表达式脚本在jsp页面中进行数据的输出使用格式${表达式}EL表达式搜索域数据的顺序EL 表达主要是输出域对象中的数据。当四个域中都有相同的key 的数据的时候,EL 表达式会按照四个域的从小到大的顺序去进行搜索,找到就输出。EL表达式的运算EL表达式的11个隐含对象EL表达式的11个隐含对象EL获取四个特定域中的属性原创 2021-05-11 11:59:18 · 608 阅读 · 0 评论 -
JavaWeb(六)jsp
基本概念什么是jsp,它有什么作用jsp的全称是Java server pages。Java的服务器页面jsp的主要作用是代替Servlet程序回传html页面的数据因为Servlet程序回传html页面是一件非常繁琐的事情。开发成本和维护成本都极高如何创建jsp的页面选中web_app,new-jsp文件如何访问jsp 页面和html 页面一样,都是存放在web 目录下。访问也跟访问html 页面一样。比如:在web 目录下有如下的文件:web 目录a.html 页面访问地址是原创 2021-05-11 09:42:03 · 194 阅读 · 0 评论 -
JavaWeb(五)Servlet
什么是ServletServlet是JavaEE规范之一,规范就是接口Servlet就是javaweb三大组件之一:Servlet、Filter过滤器、Listener监听器Servlet是运行在服务器上的一个Java小程序,它可以接收客户端发送过来的请求,并相应数据给客户端方式一:手动实现Servlet程序(实现Servlet接口)编写一个类实现Servlet接口实现service方法,处理请求,并相应数据package com.dynamicWeb.servlet;import原创 2021-05-09 16:53:01 · 442 阅读 · 1 评论 -
JavaWeb(四)Tomcat
Web资源的分类web资源按实现的技术和呈现的效果的不同,又分为静态资源和动态资源两种静态资源:html、css、js、txt、MP4视频、jpg图片动态资源:jsp页面、Servlet程序常用的web服务器Tomcat:提供对jsp和Servlet的支持,一种轻量级的javaweb容器(服务器)安装启动关闭TomcatTomcat安装包https://wwa.lanzous.com/iKMPgowohxa将安装包解压到安装目录下,就可以了,不需要安装打开bin文件夹,双击s原创 2021-05-08 21:15:05 · 324 阅读 · 1 评论 -
xml(可扩展的标记语言)和Dom4J
CDATA格式不会被xml解析<![CDATA[ ]]>原创 2021-05-07 22:22:18 · 105 阅读 · 0 评论 -
JavaWeb(三)jQuery
jQuery介绍离线帮助文档:https://wwa.lanzous.com/iDqwdov6hmf什么是jQuaryJavaScript和查询Query,辅助JavaScript开发的js类库jQuery初体验<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta原创 2021-05-07 11:20:08 · 229 阅读 · 2 评论 -
JavaWeb(二)JavaScript
JavaScript介绍Java和JavaScript的关系JS是弱类型语言特点(1)交互性:信息的动态交互(2)安全性:不允许直接访问本地硬盘(3)跨平台性:只要可以解释JS的浏览器都可以执行,和平台无关使用初体验<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <!--src属原创 2021-05-06 14:29:26 · 285 阅读 · 0 评论 -
JavaWeb(一)HTML与CSS
HTML和CSSw3school在线教程:https://www.w3school.com.cn/index.html离线文档:https://wwa.lanzous.com/iDtoUotltjc基本概念HTML负责页面的内容,CSS负责页面内容的布局前端开发流程网页的组成部分页面由三部分内容组成:(1)内容:页面中可以看到的数据,使用HTML技术展示(2)表现:内容在页面上的展示形式,比如:布局、颜色、大小等。一般使用CSS技术实现(3)行为:页面中元素与输入设备交互的相应,一般原创 2021-05-05 21:34:20 · 481 阅读 · 0 评论 -
Spring5框架(五)——事务管理
事务的基本概念事务是数据库操作的最基本单元,逻辑上一组操作,要么都成功,一旦有一个失败,则所有操作都失败典型场景:银行转账(1)lucy转账100给Mary(2)Lucy少100,Mary多100事务的四个特性(ACID)(1)原子性(2)一致性(3)隔离性(4)持久性...原创 2021-05-03 23:26:21 · 302 阅读 · 0 评论 -
Spring5框架(四)——JdbcTemplate
JdbcTemplate基本概念什么是JdbcTemplate?Spring框架对JDBC进行封装,使用JdbcTemplate方便实现对数据库的操作准备工作导入相关的包下载地址:https://wwa.lanzous.com/iF1rEoqfvcd导入方法见前文配置xml文件(1)在spring配置文件配置数据库连接池(2)配置JdbcTemplete对象,注入DataSource...原创 2021-05-03 20:59:51 · 299 阅读 · 0 评论 -
Spring5框架(三)
AOP(面向切面编程)基本概念不修改源代码实现添加新的功能利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高开发效率底层原理:动态代理,两种情况(1)有接口,使用JDK动态代理(2)无接口,使用CGLIB动态代理有接口,使用JDK动态代理接口//1. 创建类的接口public interface Human { public String getName(String name); public do原创 2021-05-02 18:39:48 · 129 阅读 · 0 评论 -
Spring5框架(一)
基本概念Spring是轻量级、开源的Java EE框架Spring有两个核心部分:IOC和AOP(1)IOC:inversion of control,控制反转,把创建对象过程交给Spring进行管理(2)AOP:aspect of plane,面向切面,不修改源码进行功能增强下载Spring地址:https://repo.spring.io/release/org/springframework/spring/在IDEA中导入Spring的依赖jar包新建一个Spring的工程在工程原创 2021-04-30 22:07:37 · 323 阅读 · 0 评论 -
在IDEA中添加文件注释、类注释、方法注释
文件注释添加方法File——Settings——Editor——File and Code Templates——Includes——File Header添加文件注释代码/*** @Author ningqian* @Blog_1 https://www.cnblogs.com/ningqian/ * @Blog_2 https://ningqian.blog.youkuaiyun.com/ * @Date ${YEAR}年${MONTH}原创 2021-04-04 17:01:22 · 1131 阅读 · 0 评论 -
抽象类与接口的要点
抽象类抽象方法所在的类一定是抽象方法抽象类中的方法可以不是抽象方法抽象类不能实例化子类继承抽象类,必须将抽象类中的抽象方法全部重写,否则该子类必须声明为抽象类接口接口中的方法全部都是public的抽象方法,只是public和abstract都可以省略接口不能实例化子类实现接口必须重写全部抽象方法,否则该子类必须声明为抽象类...原创 2021-03-30 15:41:10 · 266 阅读 · 0 评论 -
java和C#的区别2
对类成员变量的访问类成员变量的访问java使用get、set方法C#同样可以使用get、set方法还可以使用一种更简便的写法——属性 class Student { private int age; //属性的设置 public int Age { get { return this.age; } ..原创 2021-03-29 19:50:06 · 132 阅读 · 0 评论 -
java和C#的区别1
java中匿名类的实现要么是实现接口的类要么是父类的一个子类,C#中没有这个限制 java中引用类型之间的转换都是显示类型转换,且具有继承或实现接口的条件,C#中还可以通过关键字explicit和implicit关键字声明引用类型转换javapackage test;/* * 测试多态的使用 */public class Test2 { public static void main(String[] args) { //1.子类转换成父类 //1.1只可以使用父类的中的方法..原创 2021-03-29 11:16:39 · 309 阅读 · 0 评论 -
Prim算法之修路问题
涉及到的要点Prim算法、最小生成树、图的邻接矩阵问题描述代码实现package algorithm;import java.util.Arrays;/** * * @Description Prim算法解决修路总厂最小的问题 * @author ningqian QQ:2587658527 * @version * @date 2021年3月23日下午10:30:20 */public class PrimAlgorithm { public static void m原创 2021-03-23 23:29:46 · 382 阅读 · 0 评论 -
哈希表HashMap的get()方法使用须知
问题导向HashMap的get(key)方法返回key对应的value的值那么如果选择一个变量接收该值,并修改该变量,原哈希表中的value的值是否会受到影响呢?代码尝试 @Test /* * 测试哈希表HashMap的get(key)的注意点 */ public void testHashMapGet() { // 1. 哈希表的value为String// HashMap<Integer,String> myMap = new HashMap<Integer原创 2021-03-23 20:57:26 · 4141 阅读 · 0 评论 -
贪心算法
基本介绍贪心算法是指在对问题进行求解时,在每一步选择中都采用最好或者最优的选择,从而希望能够导致结果是最好或者最优的算法注意:贪心算法所得到的的结果不一定是最优的结果,但是都是相对近似最优的结果问题描述代码实现package algorithm;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.Map.Entry;import java.util.原创 2021-03-23 20:49:55 · 115 阅读 · 0 评论 -
KMP算法
https://www.cnblogs.com/zzuuoo666/p/9028287.html原创 2021-03-23 15:40:13 · 495 阅读 · 0 评论 -
汉诺塔游戏
游戏介绍游戏来源汉诺塔的传说汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。假如每秒钟一次,共需多长时间呢?移完这些金片需要5845.54亿年以上,太阳系的预期寿命据说也就是数百亿年。真的过了5845.54亿年,地球上的一切生命,连同梵塔、庙宇等,都早已经灰原创 2021-03-19 10:57:21 · 1373 阅读 · 0 评论 -
图的简单实现
基本介绍当需要表示多对多的关系时,就要用到图图的表示方式有两种:二维数组表示(邻接矩阵);链表表示(邻接表)图的遍历方式:深度优先遍历;广度优先遍历深度优先遍历广度优先遍历两种遍历方式的比较代码实现package graph;import java.util.ArrayList;import java.util.Arrays;/** * * @Description 图 * @author ningqian QQ:2587658527 * @version原创 2021-03-18 20:21:46 · 406 阅读 · 0 评论
分享