自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 04-hotspot-gc收集器

HotSpot 垃圾收集器垃圾回收有三个阶段:标记阶段: 引用计数算法(java未使用),可达性分析算法(java使用)清除阶段:回收阶段:垃圾是指运行程序里没有任何指针的指向的对象,这个对象也就需要被回收。finalizatio机制:java提供给程序员在回收垃圾对象前的自定义逻辑处理。HotSpot 虚拟机提供了多种垃圾收集器,每种收集器都有各自的特点,虽然我们要对各个收集器进行比较,但并非为了挑选出一个最好的收集器。我们选择的只是对具体应用最合适的收集器。新生代垃圾收集器Seri

2021-05-04 09:26:02 177

原创 03-gc垃圾收集策略和算法

垃圾收集策略与算法程序计数器、虚拟机栈、本地方法栈随线程而生,也随线程而灭;栈帧随着方法的开始而入栈,随着方法的结束而出栈。这几个区域的内存分配和回收都具有确定性,在这几个区域内不需要过多考虑回收的问题,因为方法结束或者线程结束时,内存自然就跟随着回收了。而对于 Java 堆和方法区,我们只有在程序运行期间才能知道会创建哪些对象,这部分内存的分配和回收都是动态的,垃圾收集器所关注的正是这部分内存。判定对象是否存活若一个对象不被任何对象或变量引用,那么它就是无效对象,需要被回收。引用计数法在对象头

2021-05-04 09:17:55 154

原创 02jvm-对象布局

HotSpot 虚拟机对象虚拟机对象的创建方式newClass的newInstance():反射的方式,只能调用空仓构造函数,权限必须是publicConstructor的NewInstance(Xxx):反射的方式,可以调用空仓,有参构造函数,权限没有要求clone()不调用构造函数,当前类需要实现cloneable接口并实现clone()方法使用反序列化:从文件或者网络获取二进制流第三方库Objenesis创建对象步骤1.判断对象是否加载,连接,初始化:当虚拟机遇到一条new指

2021-05-04 09:11:27 151

原创 01-jvm内存结构

JVM 内存结构Java 虚拟机的内存空间分为 5 个部分:程序计数器Java 虚拟机栈本地方法栈堆方法区JDK 1.8 同 JDK 1.7 比,最大的差别就是:元数据区取代了永久代。元空间的本质和永久代类似,都是对 JVM 规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不在虚拟机中,而是使用本地内存。程序计数器(PC 寄存器)程序计数器的定义程序计数器是一块较小的内存空间,是当前线程正在执行的那条字节码指令的地址。若当前线程正在执行的是一个本地方法,那么此

2021-05-04 09:07:26 125 1

原创 mybatis<和>符号解析错误

今天在Mapper.xml文件写查询语句报了个奇怪的错误 Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 30; columnNumber: 45; 元素内容必须由格式正确的字符数据或标记组成。 元素内容必须由格式正确的字...

2021-04-23 13:44:18 696

原创 springboot日志源码解析

springboot日志源码解析1.常见日志框架JUL,JCL,Jboss-loging,logback,log4j,log4j2,self4j这里我们只介绍springboot默认的日志框架,抽象层是SLF4J,实现层是logback。当然springboot还可以使用其他众多的日志框架来实现日志的输出。那为什么springboot推荐我们使用logback呢?原因是logback是新一代的日志框架,她的执行效率更高,而且可以适应诸多的环境,还支持slf4j.2 ,springboot使用

2021-04-04 10:31:44 807 1

原创 springboot(1)自动配置原理

springboot(1)自动配置原理springboot作为号称零配置的便捷式框架,那么他内部是如何办文明实现自动化配置是一个很值得深究的问题。了解boot的自动化配置也是学习springboot必要的一步。那么我们先从springboot的main方法来看。@SpringBootApplication@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documented@Inherited@SpringBoo

2021-03-28 16:21:55 112

转载 java接口和抽象类详解

一、抽象类: (关键字abstract)java抽象类定义  在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。  抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量、成员方法和构造方法的访问方式和普通类一样。  由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。也是因为这个原因,通常在设计阶段决定要不要设计抽象类。  父类包含了子类集合的常见的方法,但是由于父类...

2021-03-07 10:48:50 398

原创 单例模式

1.单例设计模式定义保证一个类只有一个实现类,并且提供她的全局访问点,2.分析单例模式实现过程由于一个类定义后,类的构造方法是共有的所以程序员可以随便new出多个实例,也就是说类的外部可以通过构造方法来创建任意多个实例。所以要想实现单例的思想,就必须要把狗崽方法的权限收回来,,让类自己来管理实例的传建工作,让后由本类提供外部可以访问的方法。3.单例模式分类单例模式下还有两种实现单例的方式,分别是懒汉式实现和饿汉式实现,下面用代码说明不同。懒汉式:/** * @author chunchun

2021-01-05 11:59:45 91

原创 适配器模式

适配器模式具体说适配器模式之前,先来说说适配器模式在哪些地方使用过。1).首先就是Sun公司推出的数据库连接工具JDBC,JDBC给出了客户端通用的抽象接口,每一个具体的数据库引擎的JDBC驱动都是介于JDBC驱动和数据库引擎之间的适配器。2).另一个就是spring AOP里的通知Advice,在spring 的AOP中,BeforeAdvice,AfterAdvice ,ThrowsAdvice这三种通知都是借助适配器模式来实现的,好处就是用户可以向框架中加入自己想要的任何一种通知类型。认识适配

2021-01-02 14:21:55 751

原创 ssm整合详解

最近做项目用到了ssm,虽然以前用过ssm但这段时间发现,用过不代表就会了,即使以前用过,但现在要搭一个ssm框架不看教程还是很难,最基本的maven仓库需要哪些坐标都搞不清楚,所以今天打算写篇博客梳理一下。一.基础梳理俗话说:工欲善其事必先利其器,要想搭建一个ssm架子,首先必须了解ssm都代表什么,每一部分在架子里担任什么角色行驶什么作用。1.springspring是开放源代码的设计层框架,它解决的是业务层逻辑和其他各层之间的耦合问题,思想是,平时我们主动new对象,内存帮我们创建对象分配内存

2020-10-25 20:15:16 1063

原创 mybatis------逆向工程详解

这段时间突然想静下来好好写一个像样的项目,然后亲自尝试一下从数据库设计开始一步步架构自己的思想到部署到服务器上,也可以在这个过程中总结自己有哪些技术栈不会,需要充电。初步把数据库的表结构设计好,接下来就感觉力不从心了,几十张表,自己一个个实体类建立一面浪费精力,一面也没有学习价值,很早以前就知道mybatis这个半自动化的ORM框架有逆向工程这个架子,以前总是在维护别人的系统,没有机会尝试这个强大的功能,今天拿过来试试,还真挺好用,自动帮我们创建好了实体类和Mapper接口类和Mapper映射文件。下面

2020-10-23 19:06:46 647

原创 反射获取函数的参数名

今天这篇博客记录下费神的问题前提引入众所周知,在jdk1.8里,相比前边的jdk版本还是做过很多的改变,比如ArrayList的扩容改到了set里,HashMap的扩容改到了put里之类的,而这些种种都在jdk源码里明确的说明了,并且对使用者来说没什么不一样,只是对分析错误有点影响。问题带入接下来我要说的是,jdk对反射做的变化,以前的jdk版本不能通过反射获取类的成员函数里的参数名,而jdk8之后的版本提供了这个方法,Parameter[] paramter = me.getParameter

2020-09-26 10:01:27 504

原创 java结合swing多线程实现打字游戏

java实现简易打字游戏写个博客写的心累啊 原本写好的后来网断了,还忘了保存草稿,然后一顿操作下来。。。。现在在重写的路上。咋也不多说啥了,直接上效果图吧 项目结构图如下。主要运行代码都在edu.cc.game包下,test包只是一些测试代码 具体代码如下package edu.cc.game;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Container;import java.awt

2020-06-23 16:53:55 963

原创 python 爬取英语词汇

前言:由于写一个小demol需要一些英语四级词汇作为数据,自己动手一个个找太费事所以用python搞了一个小工具用来爬取一些四级词汇,毕竟是第一个爬虫小工具,所以记录下。首页去找了一下各个网站的词汇状况,发现扇贝的词汇好爬点,其他的好多要登录才可以,目前技术不够。先 把爬取的效果图贴出来吧 我是把单词爬取到word.txt文件里接下来直接上代码from urllib import requestfrom lxml import etree#词汇表words = []fo.

2020-06-18 10:52:21 3476

原创 java结合GUI多线程实现TCP的 Socket聊天室

java实现建议聊天室功能 介绍:私聊,群聊模型介绍:项目结构1.服务端package edu.cc.chat05;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;import java.util.ArrayList;import java.ut

2020-06-16 20:49:29 1188 1

原创 图片上传与增删改查操作

最近写东西设计到把图片上传到服务器端保存,并且要可以对图片进行删除操作,在网上查找了好久,发现很多都不是博客形式的,都是要胡斐下载demo的,五个人觉得这也不是什么十分复杂的功能,于是就话费三天研究写了这个小demo,并且分享出来供大家参考。本demo没有使用任何的框架结构,主要使用servlet+c3p0+maven的形式实现首先把项目结构粘出来 其次是使用到的jar包,也就是maven 管理的jar<project xmlns="http://maven.apache.org/PO

2020-06-08 12:51:47 1942

原创 github提交代码到远程仓库

第一步:建立git仓库 打开git-bash命令串口cd到你的本地项目根目录下,执行git命令初始化代码git init1第二步:将项目的所有文件添加到仓库中git add .1如果想添加某个特定的文件,只需把.换成特定的文件名即可第三步:将add的文件commit到仓库git commit -m "注释语句"1第四步:去github上创建自己的Repository,创建页面如下图所示: 点击下面的Create repository,就会进入到类似下面的一个页面,拿到创建的仓库的htt

2020-06-08 11:35:07 474

转载 java判断为空的处理细节

JAVA-null或空值的判断处理 转载 ...

2020-04-10 15:50:35 707

原创 对java反射的理解

反射 :java灵魂助手1.反射 :把java类的各个组成部分封装为其他的类,这就是反射机制a:好处:1.可以在程序运行过程中,对类对象进行操作 2.解耦合,提高程序的扩展性例子:诸多idea的代码提示功能就是通过反射实现的过程:以String对象为例,当我们定义一个String对象 String str = “”;我们调用str. 的时候就会出现一堆的方法提示分析:假设...

2020-03-11 10:57:41 345

原创 Swagger学习

1.什么是SwaggerSwagger 是一个可以轻松生成api接口的工具,她是一套规范和完整的框架,Swagger可以轻松的整合到springboot项目里,并自动为后台程序员生成api文档, 避免程序员面对一大推的代码,还要为前台程序员写一堆接口文档,它既可以减少我们创建文档的工作量,同时说明内容又整合入实现代码中,让维护文档和修改代码整合为一体,可以让我们在修改代码逻辑的同时方便的修改文档...

2020-03-03 18:48:53 311

转载 java和Javaweb重要面试知识总结

Java面试题全集(上) Java面试题全集(中) Java面试题全集(下) ...

2020-02-12 21:50:48 81

原创 JDBC Statements, PreparedStatement详解

学习Javaweb的同学都知道在与数据库进行交互的时候,首先都要连接数据库,而大多我们都使用JDBC连接数据库。JDBC连接数据库大致分四步第一步,导入JDBC包:使用Java语言的import语句在Java代码开头位置导入所需的类。第二步,注册JDBC驱动程序:使JVM将所需的驱动程序实现加载到内存中,从而可以满足JDBC请求。第三步,数据库URL配置:创建一个正确格式化的地址,指向要连...

2020-02-11 17:18:50 207

转载 解决Android项目R.java文件不会自动生成

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-11-16 16:50:42 345

转载 td,tr样式注意

转载 【JavaWeb】html中有关table、tr和td的宽度和高度设置 ...

2019-11-10 11:27:37 2079

原创 <th>和<td>标签的width和height属性无法设置....亲测有效

解决table标签下的和属性宽和高设置无效在写table表格框的时候,会遇到自己的属性设置了width: :属性和height:;属性,可预览的时候不会有任何的变化,你的表格还是一团没有任何的可看性。废话不多说,我们一起来看看吧table{ table-layout: fixed;}只要在table标签里设置table-layout属性值为fixed,然后在设置widt...

2019-11-03 10:14:57 3413

转载 form表单提交数据到后台的方式

form表单提交方式1.无刷新页面提交表单表单可实现无刷新页面提交,无需页面跳转,如下,通过一个隐藏的iframe实现,form表单的target设置为iframe的name名称,form提交目标位当前页面iframe则不会刷新页面<form action="/url.do" method="post" target="targetIfr"><i...

2019-10-27 13:22:01 8831 4

原创 equals和==的区别

昨天写代码遇到一个错误折腾了我好几个小时,记得当时是写一个用户登录验证,比较登录的用户名和数据库的user表的数据是否一样,当时用的是us.GetUsername()==user.GetUsername&&us.GetPassword() ==user.GetPassword();不管我怎么用boolen k测试他的值都是0,重新看了好几遍代码都没问题。正如那句“书读百遍其义...

2019-09-18 13:53:51 142

原创 spring整合mybatis EL1008E: Property or field ‘driverClassName’ cannot be found on object of type ‘o

请教,spring整合mybatis时出现错误怎么办Exception in thread “main” org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘studentMapper’ defined in class path resource [application...

2019-09-10 20:00:58 2318

转载 Mapped Statements collection does not contain value for解决方案

原 Mapped Statements collection does not contain value for解决方案 ...

2019-09-01 16:06:50 997

原创 控制台输出数据和数据库不一致

既然遇到了,以前也没人写过,今天我就说一下这个简单的小细节如果你的工程查询数据库数据后显示不出来或者出现这样的情况这时就回过头去看看你的实体类有没有toString方法@Overridepublic String toString() {return “User [id=” + id + “, name=” + name + “, password=” + password + “]”...

2019-08-31 11:15:50 622

原创 maybatis错误### Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configurat

今天学习mybatis发现mybatis对mysql8连接池信息配置有些注意事项和一些错误,在这里记录一下mybatis+mysql8的配置文件连接池信息配置<!-- 连接池 --> <dataSource type="POOLED"> <property name="driver" value="com.mysql.cj.jdbc.Driver"/&...

2019-08-31 11:01:20 1458

原创 servlet+jsp+javaBean实现登录操作

1. javaBean+jsp+servlet (MVC)开发模式MVC M(模型)用于处理应用程序数据逻辑的部分通常模型对象负责在数据库中存取数据。V(视图)应用程序中处理数据显示的部分通常视图是依据模型数据创建的。C(控制器)应用程序中处理用户交互的部分通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。MVC适合用来开发web应用,下面用servlet+jsp+javaBean...

2019-08-20 14:17:19 5000 1

原创 jsp+javaBean实现用户注册与登陆操作

本文是通过jsp和javaBean实现的用户登陆操作本来挺简单的一个县项目却因为其中的一个坑足足困了一天,上网查了各种资料才找出,特意写一篇博客来记录,== 在这里也提议一下博客里关于jsp+javaBean 实现用户登陆操作的代码都有这个问题,我也是看了他们的博客才知道的==和以前一样先把代码附上在说这个坑,以便大家看清javaBean代码<!--User.java-->p...

2019-08-19 02:54:52 4813 1

转载 JSP+Servlet+DAO+JavaBean模式介绍

转载自:http://m.blog.csdn.net/article/details?id=9963281 一、Servlet程序各模块介绍1.JSP     ...

2019-07-31 00:06:14 1228

转载 c++图像处理入门教程

 最近有人问我图像处理怎么研究,怎么入门,怎么应用,我竟一时语塞。仔细想想,自己也搞了两年图像方面的研究,做个两个创新项目,发过两篇论文,也算是有点心得,于是总结总结和大家分享,希望能对大家有所帮助。在写这篇教程之前我本想多弄点插图,让文章看起来花哨一点,后来我觉得没必要这样做,大家花时间沉下心来读读文字没什么不好,况且学术和技术本身也不是多么花哨的东西。  一、图像处理的应用  这个...

2019-07-30 14:53:27 6176

原创 学生信息管理里系统c++

前不久认了一个正在核动力院QT工作的师傅,说是教我QT,而作为测试我能力的任务就是自己写一个学生成绩信息管理系统开始还吓了一跳,可后来自己动手开始查资料做的时候,才意识到原来也不是那么的难。今天就把他分享到这里,希望大家一起学习,一起进步。整体实现了成绩的增删该查等功能/*项目:实现一个学生管理系统对学生成绩的管理功能:学生成绩的录入(增),统计,查询(查),修改(该),删除(删),输...

2019-06-19 21:17:29 543

原创 一个c++实现的简单推箱子小游戏

第一次发博客也不太会用,基于控制台的一个推箱子小游戏,就不说什么废话了直接上干货,代码服下用到的工具 vc6.0+easyx`​附加easyX的下载链接:https://easyx.cn/downloads/复制可直接运行#include//c++输入输出头文件using namespace std;//引入命名空间#include<conio.h>//使用getch()...

2019-06-18 15:14:32 2717

空空如也

空空如也

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

TA关注的人

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