自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (11)
  • 收藏
  • 关注

原创 ThreadLocal的使用原理及内存泄漏原因

ThreadLocal的使用原理及内存泄漏原因ThreadLocal类,字面意思是本地变量,ThreadLocal可以为在每个线程中都创建一个副本,每个线程可以访问自己内部的副本变量。1.API使用简单看看如何使用这个类:public class ThreadLocalTest { public static void main(String[] args) { ThreadLocal<String> name = new ThreadLocal<>(

2021-08-06 09:28:57 248

原创 read tcp 172.17.0.12:48092->34.195.201.174:443: read: connection reset by peer Docker错误

服务器安全组没加报错的端口48092,我碰到的有两次不同的端口报错,58218和48092,加上就好了

2021-07-22 13:38:20 4983 2

原创 volatile关键字是如何禁止重排序的

Volatile关键字是如何禁止重排序的?先说结论:由于对volatile变量的复制操作之后会加上一句“addl$0x0,(%esp)”指令操作,而这个额外添加上的指令和后续对volatile操作的其他指令没什么关系,根本没有必要把这两个指令放在一起,没有优化的空间。有个朋友在阅读周志明老师的《深入理解Java虚拟机》时,发现书中是这么解释Volatile关键字可以禁止重排序的:那为何说它(volatile)禁止指令重排序呢?从硬件架构上讲,指令重排序是指处理器采用了允许将多条指令不按程序规

2021-04-24 16:03:22 963

原创 SpringBoot配置文件无效,有标识却报错。

今天写项目的时候发现自己的 YAML 文件的内容没法生效,但IDEA中是能看到文件变成了配置文件的标识。仔细检查发现这个文件与其他文件有所区别:就是它没有后缀。究其原因是在创建文件的时候,没有先确定文件格式,而是像下面一样选择的:而这样的文件竟然是没有后缀的,真是坑爹了。从文件属性里也能看出来,确实没有后缀。猜测可能是IDEA的锅。...

2021-04-12 14:00:23 510

原创 Nginx反向代理、负载均衡

NginxNginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。1.功能特点反向代理负载均衡动静分离并且Nginx能够支持高达 50,000 个并发连接数的响应,Nginx选择了 **epoll **和 **kqueue**作为开发模型。2.反向代理2.1正向代理在客户端没办法直接访问的前提下,找一个服务器帮忙访问再将数据传回来,比如玩游戏的加速器VPN等。可以看出来,正向代理是对客户端的代理,对服务端隐藏了访

2021-04-10 15:31:02 68

原创 Volatile关键字可见性

Volatile关键字可见性Java中volatile关键字用来修饰需要在多个线程之间保证修改可见性,但它不仅仅只用来保证被volatile修饰的变量,也可以保证同类实例中其他变量的可见性。class MyTest{ static class MyClass{ public int years; private int months; private volatile int days; public void update()

2021-04-06 19:40:06 91

原创 ReentrantLock是怎么保证线程安全中的可见性的?

ReentrantLock是怎么保证线程安全中的可见性的?众所周知,可重入锁ReentrantLock可以用来实现线程安全(可见性,有序性,原子性),其中有序性和原子性都能理解,那么可见性是如何保证的呢?1.锁中更改volatile变量class MyTest{ static class MyClass{ public volatile int a = 0; public int b = 0; } public static void main(

2021-04-06 19:05:38 834 1

原创 Java内部类与接口回调

Java内部类与接口回调1.内部类内部类顾名思义就是定义在一个类中的类。内部类可以分为:普通内部类、静态内部类、局部内部类、匿名内部类。2.普通内部类1.定义方式将内部类定义在一个类的方法外,且非static修饰的就是普通内部类。内部类限定词可以为public、private、protected。当为private时,只有在外部类的方法中可以构造它。当为protected时,需要写限定词为public的内部类构造函数才能在子类中调用构造函数。class Outer{ private

2021-02-21 09:02:13 291

原创 细说为什么重写equals必须要重写hashCode

为什么重写equals必须要重写hashCode1.一些误区重写了equals不重写hashcode并不会报错,只是逻辑上会出错。并不是每次重写equals都需要重写hashcode,但推荐都写上。2.为什么要重写equals要理解重写hashcode的必要性,我们先来讲讲为什么要重写equals。原因也很简单,默认的equals方法不够看了,需要给它升级一下。先看看所有类的祖宗Object类中equals方法的代码,这可以让我们理解为什么要重写equals。public boolean

2021-02-16 15:34:57 1677 2

原创 Java向上转型

Java向上转型1.向上转型1.1 无重载情况在平常的学习中,我们都知道继承是"is-a"关系,即子类属于超类的一,比如学生是人。我们一般都把学生和人两个类分别使用。如果我们把学生当作人来使用,就是向上转型。public class FatherNewSon { public static void main(String[] args) { People people = new Student(); people.display(); Sy

2021-02-15 12:55:51 910 2

原创 Java继承总结

Java继承总结1. 继承的结果1.1 继承的限定词在Java中只有公有继承,而不像C++那般复杂。可以简单的理解为子类所继承到的内容都被超类属性和方法的限定词所限定,只受其影响。范围publicprotecteddefaultprivate同类√√√√同包子类√√√非同包子类√√非同包非子类√tips1:注意protected和default的区别tips2:private子类能不能继承到超类的属性将在下面详细介绍

2021-02-15 09:39:58 252 2

原创 实体类中的类属性找不到nested exception is org.apache.ibatis.binding.BindingException: Parameter ‘data‘ not foun

今天在写Mybatis业务时发现一个问题,网上也没找到解答,所以把解决方法发出来供大家参考一下。1.问题在Mybatis的parameterType里,我传入了如下的参数:public class PageModel<T> { private int beginIndex; private int currentPageNo; private int pageSize = 20; private T data; }就是在实体类里有一个类变量da.

2021-01-28 10:59:05 502

原创 IDEA中log文件显示问号且双击无法打开

在MyBatis项目的xml配置文件里,不要使用package来指定要用的包,不然就会在log文件里产生乱码,从而打不开!解决方法:typeAliases里使用typeAlias,mapper里使用class或者resource来导包。

2021-01-01 14:00:43 1780

原创 Java图形界面文字乱码

用Java的GUI画的图里,中文字变成了口口口。解决方法:在IDEA中,按如下路径:RUN -> Edit Configuration -> VM options,加上 -Dfile.encoding=GB18030 ,然后应用就可以了。就可以了。

2020-11-21 22:34:25 1693

原创 Java和matlab混合编程时Java代码参数不一致的问题

先说结论:源码是可变参数,可以传递多个参数给它,第一个参数是要返回的值的个数。问题描述:在Matlab中,我写了如下的代码:可以看到,这个函数需要传递两个参数。在IDEA里导入jar包,试图调用函数的时候,报错。调用代码如下:报错如下:提示输入参数太多。点进去源码:public void lagrange(List var1, List var2) throws MWException { this.fMCR.invoke(var1, var2, sLagrange

2020-11-21 22:13:19 475

原创 浏览器响应了css文件,但不显示

写网页的时候发现css文件没起作用,在浏览器里查看源代码发现这样的问题。响应里也确实出现了css文件后来发现是在过滤器在设置页面编码格式的时候,把这个页面也过滤了,去掉过滤这个页面就好了。...

2020-11-14 23:22:51 386

原创 什么是JDBC?一文看懂

JDBC什么是JDBC : Java连接数据库!(Java DataBase Connect)以前如果公司更换了数据库,就需要重写关于数据库的代码,为了解决这样的问题,就在各自厂家数据库上再增加一层,就是JDBC。需要jar包的支持:java.sqljavax.sqlmysql-connetor-java… 连接驱动(必须要导入)实验环境搭建CREATE TABLE users( id INT PRIMARY KEY, `name` VARCHAR(40),

2020-11-14 17:43:24 382

原创 Filter实现权限拦截

权限拦截用户登录之后才能进入主页!在登录页面用户登录之后,向Sesison中放入用户的数据进入主页的时候要判断用户是否已经登录;没有用户不能进入主页!1.servlet+jsp分为3个页面:登录首页,密码正确页,密码错误页。在登录首页输入正确的信息后,进入密码正确页,密码错误进入密码错误页,无法直接访问密码正确页。success.jsp<%@ page contentType="text/html;charset=UTF-8" language="java" %><h

2020-11-13 21:24:14 253

原创 JavaWeb监听器

12、监听器实现一个监听器的接口;(有n种监听器)编写一个监听器实现监听器的接口…package com.bin.linstener;import javax.servlet.ServletContext;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;//统计网站在线人数:统计Sessionpublic class onlineCountListene

2020-11-12 22:27:10 79

原创 骂人变成**是怎么做到的——过滤器Filter

11 、FilterShiro安全框架技术就是用Filter来实现的Filter:过滤器 ,用来过滤网站的数据,符合条件放行,不符合条件不放行;处理中文乱码登录验证….(比如用来过滤网上骂人的话,我***我自己 0-0)过滤器就是Servlet。Filter开发步骤:导包编写过滤器导包不要错 (注意)实现Filter接口,重写对应的方法即可重写Filter的方法package com.bin.filter;import javax.servlet.*;

2020-11-12 20:55:42 911 1

原创 JavaWeb之MVC三层架构

10、MVC三层架构什么是MVC: Model view Controller 模型、视图、控制器10.1、以前的架构用户直接访问控制层,控制层就可以直接操作数据库;servlet--CRUD-->数据库弊端:程序十分臃肿,不利于维护 servlet的代码中:处理请求、响应、视图跳转、处理JDBC、处理业务代码、处理逻辑代码架构:没有什么是加一层解决不了的!程序猿调用↑JDBC (实现该接口)↑Mysql Oracle SqlServer ....(不同厂商)10

2020-11-12 20:52:50 105

原创 什么是JavaBean?

JavaBean实体类JavaBean有特定的写法:必须要有一个无参构造属性必须私有化必须有对应的get/set方法;一般用来和数据库的字段做映射 ORM(Object Relational Mapping);ORM :对象关系映射表—>类字段–>属性行记录---->对象people表idnameageaddress1秦疆1号3西安2秦疆2号18西安3秦疆3号100西安class People{

2020-11-12 10:35:39 91 1

原创 一文看懂JSP

8、JSP8.1 什么是JSPJava Server Pages:java服务器端页面,也和Servlet一样,用于动态Web技术!最大的特点:写JSP就像是在写HTML区别:HTML只给用户提供静态的数据;JSP页面中可以嵌入JAVA代码,为用户提供动态数据;8.2 JSP原理思路:JSP到底怎么执行的!代码层面没有任何问题服务器内部工作tomcat中有一个work目录;IDEA中使用Tomcat的会在IDEA的tomcat中生产一个work目录我电

2020-11-11 18:55:43 1114 2

原创 JavaWeb之Session、Cookie

本博客基于B站狂神老师的JavaWeb课程,地址:https://space.bilibili.com/95256449,记录自己的代码和老师的笔记,同时也会有自己关于这些知识的理解,如果有错误请评论告诉我。7、Cookie、Session7.1 会话会话:用户打开一个浏览器,点击了很多超链接,访问多个web资源,这个过程可以称之为会话。有状态会话:一个同学来过教室,下次再来教室,我们会知道这个同学曾经来过,称之为有状态会话;你怎么证明你是西开的学生?你 → 西开发票 西开.

2020-11-07 15:45:46 125

原创 B站狂神 JavaWeb 1-6

Java Web 学习(上)本博客基于B站狂神老师的JavaWeb课程,地址:https://space.bilibili.com/95256449,记录自己的代码和老师的笔记,同时也会有自己关于这些知识的理解,如果有错误请评论告诉我。1.基本概念1.1前言web开发:web,网页的意思 ,比如百度: www.baidu.com静态web提供给所有人看的数据始终不会发生变化!html,css动态web淘宝,几乎是所有的网站;提供给所有人看的数据始终会发生变化,每个人在不

2020-11-04 18:42:33 552

原创 官网JDK的安装与环境变量配置

1.下载先去官网下载需要的JDK版本JDK下载现在拿JDK15来举例:点击之后,会选择要下载的格式,这里我选择Windows:2.安装因为我选择安装在默认位置,所以无脑下一步。可以更改安装的位置3.环境变量配置计算机→属性→高级系统设置→高级→环境变量如果在计算机属性里能找到到高级系统设置,可以跳过1-3,直接在桌面右键计算机。右击桌面计算机图标2.找到“此电脑”图标,右击打开属性3.点击高级系统设置4.点击环境变量4.配置环境变量系统变量→新建

2020-11-04 16:00:23 123

原创 力扣-简单-977.有序数组的平方

力扣-简单-977.有序数组的平方题目描述:给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例 1:输入:[-4,-1,0,3,10]输出:[0,1,9,16,100]示例 2:输入:[-7,-3,2,3,11]输出:[4,9,9,49,121]提示:1 <= A.length <= 10000-10000 <= A[i] <= 10000A 已按非递减顺序排序。来源:力扣(LeetCode)链接:htt

2020-10-18 16:24:27 145

原创 sizeof运算符

sizeof运算符sizeof 运算符返回一条表达式或一个类型名字所占的字节数。sizeof (type)sizeof expr1. sizeof运算符并不实际计算其运算对象的实际大小Sales_data *p;sizeof p; //指针所占的空间大小sizeof *p; //即sizeof Sales_data/* 在sizeof的运算对象中解引用一个无效的指针仍然是一种安全的行为。*/void* pp;sizeof pp; //虽然pp指针并未初始化,但仍可以对它求字节数。结

2020-09-25 23:21:03 403

原创 python函数参数改不改变的问题

python函数参数改不改变的问题**结论:**python有可变对象和不可变对象之分。如果传入的参数是不可变对象,则在函数体内对形参的修改不会导致实参被修改,而如果传入的是可变对象,实参有可能会变,也有可能不变,这取决于进行改变的操作。不可变对象 : Number,String,Tuple,bool可变对象 : List,Set,Dictionary1.不可变对象def test(str1): str1 = "inside" print("this is function "

2020-07-19 17:11:12 2526

原创 二维数组对象名加一问题

对于一个二维数组 a 来说,a和*a的值相同(地址相同),但意义不同。a +1表示的是第一行的首地址,亦即a[1],而*a+1表示第一行的第一个元素,即a[0][1]。证明如下:/*Dev-C++ 5.11 */#include<iostream>using namespace std;int main(){ int a[][2]={{1,2},{3,4},{5...

2020-04-30 12:49:43 4050

原创 C++中的指针传递,传递给形参的指针仍是实参的一个拷贝。

1.起因今天在看CPlusPlusThings时看到的关于const使用的一个代码:void func(const int var); // 传递过来的参数不可变void func(int *const var); // 指针本身不可变传递过来的参数及指针本身在函数内不可变,无意义!表明参数在函数体内不能被修改,但此处没有任何意义,var本身就是形参,在函数内不会改变。包括传入的形...

2020-04-23 15:50:57 2159

软件工程黑盒白盒实验.docx

实验一: 白盒测试 一、实验目的 巩固白盒测试知识,对于给定的待测程序,能熟练应用基本控制流覆盖方法设计测试用例;能够执行白盒测试过程,并撰写白盒测试分析报告。

2021-06-23

JAVA高级编程.docx

实验一 java encoding and decoding 实验目的 理解encode和decode,掌握java常见的编码类库。

2021-06-23

江科大编译原理实验词法分析器逆波兰式ll1分析文法.pdf

江科大编译原理实验词法分析器逆波兰式ll1分析文法.pdf

2021-05-13

介绍家乡的网页HTML+CSS.zip

介绍家乡历史、文化特色、时代变化、美食特色。可以直接当模板用,修改文字。

2021-02-02

数据库系统概论实验.txt

实验内容与要求 1.实验目的与要求 掌握使用查询分析器进行数据定义的方法 2.实验内容 (1)数据库的定义 (2)表和视图的定义 (3)索引的定义 3.实验步骤 (1)创建和使用数据库 (2)创建和使用表、视图 (3)索引 创建和使用表、视图 1.创建数据库,命名为学号后三位 2.在个人学号数据库中创建如下的三张表,并输入记录内容:

2020-12-10

使用VHDL实现数字钟.zip

VHDL实现数字钟,使用quartus设计基于VHDL语言的简易数字钟,要求数字钟能实现以下功能。 1.秒、分为00~59六十进制计数器。 2.时为00~23二十四进制计数器。 3. 具有设置闹钟功能,在设定时间到达时鸣叫30秒。 4.具有整点报时功能:整点报时电路要求在每个整点时鸣叫10秒。 5.利用设计软件对其进行设计输入,设计仿真,使其具备所要求的功能。 内容包括,源码,仿真文件,工程文件.可直接导入出结果.

2020-06-20

数字电子技术课程设计报告.docx

使用quartus设计基于VHDL语言的简易数字钟,要求数字钟能实现以下功能。 1.秒、分为00~59六十进制计数器。 2.时为00~23二十四进制计数器。 3. 具有设置闹钟功能,在设定时间到达时鸣叫30秒。 4.具有整点报时功能:整点报时电路要求在每个整点时鸣叫10秒。 5.利用设计软件对其进行设计输入,设计仿真,使其具备所要求的功能。 里面报告仿真波形,源代码.

2020-06-20

c++实验报告.docx

题目: 为某高校的学籍和成绩管理设计一系统。要求建立的数据有: (1)学生类,包含班级号、学号、姓名、专业等成员; (2)学生成绩类,包含班级号、学号,课程名,成绩等成员。 完成下列功能:首先输入学生数据及成绩数据,再根据提示分别实现查找功能。其中:  函数 Xslr 负责学生数据录入;  函数 Cjlr 负责成绩数据录入;  函数 Look1 负责根据姓名查找学生的基本信息和成绩信息;  函数 Look2 负责根据班级列出学生的基本信息;  函数 Dayin1 负责依据班级输出满足条件的学生的基本情况;  函数 Dayin2 负责输出某一同学的成绩单。   题目: 设计一个电子通信录。其中包括如下类: (1)通信地址类 addr。包含公有数据:  成员 char post[10]; //邮编  成员 char ad[40]; //家庭地址  构造函数 addr(char p[10]="",char a[40]="");  成员函数 void setadd(addr a); //用 a 为当前对象赋值 (2)出生年月类 birth。包含公有数据:  成员 int year; //年份  成员 int month; //月份  成员 int day; //日期  构造函数 birth(int y=0,int m=0,int d=0);  成员函数 void setbir(birth b); //用 b 为当前对象赋值 (3)类 friends。包含数据:  私有成员 int number; //序号  私有成员 char name[20]; //姓名  私有成员 char sex; //性别  私有成员 char telephone[13]; //联系电话  公有成员 birth bir; //出生年月  公有成员 addr add; //通信地址  公有构造函数 friends(int nu=0,char n[20]=" ",char s=' ',int y=0,int m=0,int d=0,char p[10]=" ",char a[40]=" ",char t[13]=" ");  公有成员函数 void setfri(int nu,char n[20],char s,birth b,addr a,char t[13]); //为 当前对象赋值  公有成员函数 friends input(friends &bb); //为对象 bb 输出数据  公有成员函数 int search(friends aa[100],char n[20]); //在 aa 中查找姓名为 n 的对象  公有成员函数 void show(friends aa); //输出对象 aa  公有成员函数 void delet(friends aa[100],int k); //在 aa 中删除下标为 k 的元素 (4)在主函数中完成主菜单的设计,并根据输入值完成所需操作。  

2020-06-14

数据结构程序设计.docx

1.实验内容: 1) 建立学生档案管理的数据结构和存储结构; 2) 完成学生档案管理数据的基本操作; 3) 为提高管理效率,尝试设计较好的面向应用的查找存储结构,如二叉排序树。 2.实验任务: 设计一个学生档案管理信息系统,管理的学生信息包括学号、姓名、性别、高数成绩、英语成绩、大学物理成绩;要求可对学生档案信息进行浏览、增加、修改、删除和查找操作;能够依据不同的检索条件进行查找. 2 隐式图的搜索问题 1. 实验内容: 1) 对九宫重排问题,建立图的启发式搜索求解问题的方法; 2) 编写九宫重排问题的启发式搜索求解程序。 2. 实验任务: 在3х3九宫棋盘中,放置数码为1~8的8个棋子,棋盘中留有一个空格,空格周围的棋子可以移动到空格中,从而改变棋盘的布局。根据给定初始布局和目标布局,求解如何移动棋子才能从初始布局到达目标布局,找到一种最少步骤的移动方法。 3 可视化界面的文本文件操作 1. 实验内容: 1).通过对可视化开发环境的实用,实现对文本文件编辑器的设计。 2).通过键盘实现对文本文件进行创建、插入、删除、修改、存储等操作。 2. 实验任务: 设计一个具有可视化界面的全文本编辑器,通过对键盘操作可实现对文本进行显示、插入、修改、删除、查找、存储等操作。实现全文本编辑器的基本功能。具体要求如下:  具有图形菜单界面;  能正确显示文本总行数。(行数不少于5行,每行字符数不少于80个字符);  可正确读取,保存文本;  能实现简单的文本处理功能  查找:查找文本中的字符串,显示其出现的行数,列数及总共出现次数  替换(等长,不等长):对文本中的文本实现等长及不等长替换  插入(插串,文本块的插入):插入一行或在具体行号列号处插入文本  删除:删除一行,删除某一行、某列,定长的内容

2020-06-14

学生档案的建立和查询.md

1.实验内容: 1) 建立学生档案管理的数据结构和存储结构; 2) 完成学生档案管理数据的基本操作; 3) 为提高管理效率,尝试设计较好的面向应用的查找存储结构,如二叉排序树。 2.实验任务: 设计一个学生档案管理信息系统,管理的学生信息包括学号、姓名、性别、高数成绩、英语成绩、大学物理成绩;要求可对学生档案信息进行浏览、增加、修改、删除和查找操作;能够依据不同的检索条件进行查找. 下载完请用markdown软件打开,例如typora

2020-06-14

空空如也

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

TA关注的人

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