- 博客(39)
- 收藏
- 关注
原创 集合-ArrayList
一、ArrayList的注意事项:1)ArrayList可以放任何元素,包括空值,可以加入多个空值。2)ArrayList是由数组来实现数据存储的3)ArrayList基本等同于Vector,除lArrayList是线程不安全(执行效率高),在多线程情况下,不建议使用ArrayList没有synchronized进行修饰二、ArrayList 的底层操作机制源码分析(重点,难点)ArrayList 中维护了一个 Object类型的数组 elementData。 transient Object
2021-12-16 01:20:53
432
原创 剑指offer-week1
一、找出数组中的重复数字描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组[2,3,1,0,2,5,3],那么对应的输出是2或者3。存在不合法的输入的话输出-1数据范围:进阶:时间复杂度,空间复杂度输入:[2,3,1,0,2,5,3]返回值:2说明:2或3都是对的采用重排数组的办法,时间复杂度为O(n),空间复杂度为O(1);首先,我们可
2021-12-16 00:43:51
747
原创 Java基础----对象与类
一、面向对象程序设计概述面向对象程序设计(oop)二、类类(class)是构造对象模板或蓝图由类构造(construct)对象的过程称为创建类的实例(instance)封装是处理对象的一个重要概念。封装就是将数据和行为组合在一个包中,并对对象的使用者隐藏具体的实现方式。对象中的数据称为实例字段(instance field),操作数据的过程称为方法(method)。实现封装的关键在于,绝对不能让类中的方法直接访问其他类的实例字段。程序只能通过对象的方法与对象数据进行交互。三、对象要想使用O
2021-09-08 21:42:05
154
1
转载 Executor 执行器接口笔记
https://blog.csdn.net/zt011052/article/details/102955048/
2021-08-16 07:08:05
128
转载 mybatis的学习笔记01
1 MyBatis介绍MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis 。2013年11月迁移到Github。 MyBatis是一个优秀的持久层框架,它对jdbc的操作数据库的过程进行封装,使开发者只需要关注 SQL 本身,而不需要花费精力去处理例如注册驱动、创建connection、创建statement、手动设置参数、结果集检索等jdbc繁杂的过程代码。
2021-08-15 09:17:58
155
原创 ssm框架的搭建--向数据库查询数据
接口对应的映射文件UserDao.xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="com.itheima.dao.UserDao"> <select i
2021-08-14 17:20:23
544
原创 Java-多线程
1. 多线程创建的三种方式1.1 继承Thread类将类声明为Thread的子类。该子类应重写Thread类的run方法。接下来可以分配并启动该子类的实例。java.lang.Thread类:是描述线程的类,我们想要实现多线程程序,就必须继承Thread类实现步骤:1.创建一个Thread类的子类2. 在Thread类的子类中重写Thread类中的run方法,设置线程任务(开启线程要做什么)3. 创建Thread类的子类对象4. 调用Thread类中的start方法,开启新的线程,执行run
2021-08-13 22:51:50
73
转载 Matlab添加包libsvm svmtrain已被删除, 请改用fitcsvm
Matlab添加包libsvm svmtrain已被删除, 请改用fitcsvm原因运行一个脚本,运行的时候总是出现==svmtrain已被删除。 请改用fitcsvm。==后来发现,原来是因为次脚需要用到svmtrain函数,但是此时我的Matlab 2018里面没有这个libsvm包,所以总会出现那个错误。解决办法第一步下载libsvm: 链接.下载zip or tar 文件第二步下载之后就解压得到libsvm文件,并将这个文件拷贝到Matlab 2018的toolbox文件里:2
2021-02-10 09:38:02
3815
1
转载 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderL,spring获取context
问题症状:当我在使用idea调试springMVC项目时控制台输出如下错误信息07-May-2019 09:31:54.892 严重 [RMI TCP Connection(5)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal One or more listeners failed to start. Ful...
2020-04-13 00:07:58
132
转载 无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]
无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:[http://java.sun.com/jsp/jstl/core]jsp中出错提示:The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with...
2020-03-30 16:40:21
450
转载 IDEA中无法识别servlet类或找不到javax.servlet.*
https://blog.csdn.net/qq_34039018/article/details/86616884原文地址简单说先就是在project structure下的libraries中,在+下选Java选择tomcat安装目录下的lib中的servlet这个jar包,然后选择你的项目添加就行,至于为什么有这个情况暂时还不清楚。...
2020-03-28 23:06:01
1931
原创 关于日志框架
1.关于市场上常见的日志框架JUL(java.util.logging),JCL(Jakarta Commons Logging),Log4j,Log4j2,Logback(具体框架,springboot使用)、SLF4j、jboss-logging等。Spring 在框架内部使用JCL。Log4j被apache收购,升级,改为log4j2,框架改动很大,只是借用之名。Log4j,Logb...
2020-03-20 21:21:00
81
原创 关于逆向工程,解决mysql数据库遇到的1406问题,ERROR 1062 (23000): Duplicate entry '0' for key 'PRIMARY'
先说逆向过程,先是在PowerDesginer这个软件上生成数据表,然后生成sql脚本,生成sql脚本:然后在命令行进行数据生成。1.连接mysql数据库2.use 数据库(其中一个空数据库)3.用MySQL的source命令导入SQL文件实战记录。输入source 脚本全路径 或者 . 脚本全路径如:source <C:\Users\lenovo\Deskto...
2020-03-20 21:05:33
837
原创 MySQL_常见函数
一、字符函数#1.length 获取参数值的字节数SELECT LENGTH('john');SELECT LENGTH('张三丰hahaha');SHOW VARIABLE LIKE ‘char%’(一个英文占一个字节,一个汉字占三个字节)#2. concat 拼接字符串SELECT concat(last_name,'_',first_name) 姓名 FROM emplye...
2020-03-18 23:17:30
141
1
转载 mybatis的工作原理
MyBatis 的工作原理在学习 MyBatis 程序之前,读者需要了解一下 MyBatis 工作原理,以便于理解程序。MyBatis 的工作原理如图 2 所示。下面对图 2 中的每步流程进行说明。1)读取 MyBatis 配置文件:mybatis-config.xml 为 MyBatis 的全局配置文件,配置了 MyBatis 的运行环境等信息,例如数据库连接信息。2)加载映射文件。映射...
2020-03-18 18:29:16
173
转载 spring_整体系统
图 1 中包含了 Spring 框架的所有模块,这些模块可以满足一切企业级应用开发的需求,在开发过程中可以根据需求有选择性地使用所需要的模块。下面分别对这些模块的作用进行简单介绍。Data Access/Integration(数据访问/集成)数据访问/集成层包括 JDBC、ORM、OXM、JMS 和 Transactions 模块,具体介绍如下。JDBC 模块:提供了一个 JDBC 的...
2020-03-18 18:21:23
200
转载 SSM的整合
因为 Spring MVC 是 Spring 框架中的一个子模块,所以 Spring 与 SpringMVC 之间不存在整合的问题。实际上,SSM 框架的整合只涉及 Spring 与 MyBatis 的整合以及 Spring MVC 与 MyBatis 的整合。持久化:Myuser类UserDao接口UserService接口和该接口实现类UserServiceImplUserContr...
2020-03-18 17:00:45
95
原创 java.lang.RuntimeException: Cannot reconnect.
换了新电脑,重新配置了maven,在本地库下载jar包是出现了jar下载不全的问题,这个问题没有找到解决,最后把原电脑里的jar包直接拷贝过来了。在idea中设置了中央仓库的位置,但是不知道为什么它又改成了默认位置了,今天在maven下载jar包时,出现了java.lang.RuntimeException: Cannot reconnect.这个异常。首先要学会查找maven出错时,如何通过i...
2020-03-17 08:09:07
18272
4
原创 JVM_垃圾收集器与内存分配策略01
垃圾回收器(GC Garbage Collection)。那些内存是需要回收的什么时候进行回收如何回收有哪些内存需要回收,首先程序计数器、虚拟机栈、本地方法栈这些的生命周期和线程的生命周期是一样的,栈中栈帧是随着方法的进入和退出而执行着入栈和出栈,他们在内存分配和回收都是具有确定性的,因为在方法结束或者线程结束时,内存自然就跟着回收了,所以他们不需要过多的考虑回收的问题。但是Java...
2020-03-16 21:56:31
98
原创 JVM_java内存区域
Java内存区域图如下:程序计数器:Java虚拟机栈:和程序计数器一样,是线程私有的,它的生命周期与线程相同。每个方法被执行的时候都会同时创建一个栈帧用于存储局部变量、操作栈、动态链接、方法出口等消息。每一个方法被调用直至执行完成的过程,就对应着一个栈帧在虚拟机中从入栈到出栈的过程。局部变量表存放了编译期可知的各种基本数据类型(boolean、byte、char、short、int...
2020-03-16 20:42:10
91
原创 高并发02_同步锁的一些题目
可以同时调用,在synchronized方法进行运行时,非synchronized方法也可以运行。对写进行加锁,而对读没有加锁,可能会产生脏读的情况。2.3.4.如果不想释放锁,就在异常那里try/catch。运行时异常,要进行事物回滚synchronized既保证可见性又保证原子性,volatile只保证可见性;但是volatile的性能比synchro...
2020-03-15 20:40:39
112
1
原创 高并发01_synchronized
Object的对象o放在堆里的,在堆上加了锁,当有线程访问这个对象,并想执行最后两个语句时,应该首先要拿到这个锁,然后进行访问,当第二个线程过来想拿锁的时候,应该是第一个线程执行完之后,把锁释放。锁的互斥。2.这两种是一样的,锁定的是this对象,不是锁定整段代码。synchronized锁定是一个对象,而不是代码块。3.不可以,静态的属性和方法是不需要new出对象进行访问的...
2020-03-15 16:40:59
81
原创 JVM03Java代码执行流程
一、Java的跨平台性Java代码的执行流程jvm运行原理:运行一个HelloWorld的类,运行完毕之后,文件夹里出现HelloWorld.class的文件javac程序是一个Java编译器。它将文件HelloWorld.java编译成HelloWorld.class文件,并发送到java虚拟机。虚拟机执行编译器放在class文件中的字节码。JVM 加载 class 文件的原理机制...
2020-03-14 10:03:55
124
原创 JVM04内存结构概述
JVM架构类加载器的子系统:类加载器子系统负责从文件系统或者网络中加载class文件,class文件在文件头有特定的文件标识ClassLoader只负责class文件加载,至于它是否可运行,则由Execution Engine决定加载的类信息存放于一块成为方法区的内存空间。除了类信息外,方法区中还会存放运行时常量池的信息,可能还包括字符串字面量和数字常量(这部分常量信息是Class文件...
2020-03-14 09:58:40
87
原创 工程依赖管理
应用的垂直拆分主要包括前后端逻辑拆分、业务逻辑和数据访问层拆分,拆分之后的效果:分布式服务,保证其中一个坏了,不会影响我们正常的使用。垂直拆分(ALL IN ONE)以前的分层变成分模块(项目)beandaoservicecontrollerwebpage垂直拆分:各自导入自己需要的依赖JavaBean:那几张表生成的实体类。atcrowdfunding-parent...
2020-03-14 07:34:28
126
原创 众筹网02_项目环境搭建
工具jdk版本 1.8STS 3.9.7Linux(CentOS7)部署环境MySQL5.5Tomcat8.5Redis3.2.5字符编码UTF-8框架springmvcspringMybatisMavenjQueryBootstrapzTreeSpringSecurity规范包名起名原则,域的反写+项目名称+模块名称+程序类型名称Bean(不同类以下...
2020-03-13 22:28:09
235
原创 项目介绍
分布式的部署开发把大项目分为几十个小项目进行分布把一个模块部署到多个服务器上,保证高可用性,要用集群多几个tomcat代理服务器,给ip绑定一个域名,通过dns进行服务器解析,通过域名找到这个服务器,代理服务器的作用是做负载均衡的,分发任务。负载是指一台服务器所能承受的访问压力。一台服务器解决不了,那就多部署几台,称为分流。轮询的方法(最公平),当请求来的时候,轮流访问几个服务器,前提...
2020-03-13 22:13:42
102
原创 JVM-程序计数器02
Java虚拟机内存管理方法区:二、程序计数器1.程序计数器的解释:程序计数器(Program Counter Register)是一块较小的内存空间,它可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里(仅是概念模型,各种虚拟机可能会通过一些更高效的方式去实现),字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令,分支、循环、跳转、异常处理、线程...
2020-03-09 16:55:17
83
原创 JVM学习01总体概述
JVM的整体结构HotSpot VM是目前市面上高性能虚拟机的代表作之一,它采用解释器与即时编译器并存的架构Java编译器输入的指令流基本上是一种基于栈的指令架构,另外一种指令集架构则是基于寄存器的指令集架构。一、指令集构建同样执行2+3这样的逻辑操作,其2指令分别如下:1.基于栈的计算流程public class StackStruTest { public static ...
2020-03-03 13:49:29
118
原创 springboot1——第一个springboot程序
需要用到的软件:jdk1.8maven3.6.1springboot:最新版IDEA官方:提供了一个快速生产的网站,idea集成了这个网站1.进入spring boot官网进行快速程序的初始化,配置一些基本信息2.加入web这个依赖,springboot则主动帮你配置好web.xml,tomcat和dispatchservlet,然后生成一个zip文件3.导入项目...
2020-03-02 22:46:59
131
原创 MySQL的安装
我的安装经验主要参考于:https://blog.csdn.net/qq_33742119/article/details/80076030感谢题主的分享和耐心的安装教程,如果急需的可以直接看他的博文,我的安装步骤基本也一致,这里也顺便贴下我的安装步骤,作为自己的笔记。1.我是通过上述博主提供的连接下载了,我之前在官网下载的都是8.0的版本,期间出现了很多的问题,最终都失败,所以最好还是...
2020-02-24 17:43:13
185
原创 mysql的卸载
由于之前安装的mysql忘记了密码,一直捣鼓了很久都没有改掉密码,没办法最后选择卸载mysql,重新安装,在这里简单的做下如何删除mysql1.首先是进入注册表进行注册表的删除按住R+WIN键,然后输入...
2020-02-23 20:58:37
94
转载 java中异常的捕获及处理
一、Java异常简介什么是异常?程序运行时,发生的不被期望的事件,它阻止了程序按照程序员的预期正常执行,这就是异常。异常发生时,是任程序自生自灭,立刻退出终止。在Java中即,Java在编译或运行或者运行过程中出现的错误。Java提供了更加优秀的解决办法:异常处理机制。异常处理机制能让程序在异常发生时,按照代码的预先设定的异常处理逻辑,针对性地处理异常,让程序尽最大可能恢复正常并继续执行,...
2020-02-22 14:42:35
302
原创 Java中resource文件夹
注意:资源必须放在Resources目录下资源路径相对于Resources目录,且不加后缀名即使是后缀不同的资源,也不要重名,否则加载的时候要指定类型。路径使用正斜杠”/”Resources中的所有资源,都会被打到客户端中resource标识这个路径下是资源文件...
2020-02-21 20:54:27
2469
原创 jdbc连接的问题
如题,最近在学习数据库过程中老是会出现连接的问题。后面发现是因为返回时间的问题,要加上?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false这句话。亲测有效...
2019-08-07 15:46:32
87
原创 idea中构造器和toString方法覆写的快捷键
idea中构造器和toString方法覆写的快捷键写上一篇博文已经是3个月前的事情了,这中间因为各种杂事耽搁,好久没有学习我的Java了。要利用这个暑假好好的学习一波了。废话不多说,进入主题。老规矩,假装有分割线————————————————————————————————一、idea中构造器的快捷键的使用在这个类中,将选中的变量作为构造器的两个参数(其实我在担心我这个表述对不对,...
2019-07-22 20:13:30
2898
1
原创 idea的使用
之前跟着视频学习了使用idea建立工程项目,后面给忘了,所以确定写一篇博客以免自己又忘记。之前网上搜索发现建立项目的方法太多了,我就用最基础的,其他的还不会,以后使用了并且理解之后再补充。假装有分割线一.首先讲下idea的项目结构二.现在开始准备创建新的projet然后就是点击next,后面的名字和位置可以根据自己的需要进行改变进来点击“+”号,然后选择new module这...
2019-04-15 18:50:51
143
原创 在idea中使用构造方法
今天在学习线程的时候遇到了构造方法这个问题,第一次遇到,先暂时总结一下。假装分割线————————————————————————————————————1.如何在idea中使用构造方法按住alt+insert键2.为什么使用构造方法(这是网上找的答案)...
2019-03-31 21:17:46
4282
转载 IntelliJ IDEA 编译程序出现 非法字符 的 解决方法
第一次发博文,Java入门菜鸟。首先申明解决方法是转载别人的,只是为了方便自己以后查询学习用的。同时现在和以后遇到的很多问题也是自己在学习过程中遇到的一些问题,希望除了给自己帮助以为,还能给更多初学者帮助。由于自己水平有限,可能以后有许多博文都会是转载其他大神的解决方案。本文转至@ isea533的博文1.首先我是打开了项目后面才发现自己有汉字输入这种非法字符的问题,由于对软件不熟悉,所以...
2019-03-29 22:02:41
4761
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人