自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 安卓聊天app设计思路

Ⅰ、服务端两个按钮,两个事件一、开启初始化输出流集合、new ServerSocket(8888)开线程①用server.accept()接收客户端socket每成功连接一个客户端就开一个服务线程,它做两件事:把新连接的socket对象的输出流添加到集合(synchronized)、监听服务端输入流并把数据广播到所有客户端二、关闭server.close()Ⅱ、客户端主面板点击连接按钮三个按钮,三个事件一、发送​ 点击发送会把用户输入的聊天内容交给userSendMsg全

2021-04-13 18:11:02 453

原创 安卓Handler使用实例(含源代码

第一个是主线程处理两子线程发送的消息第二个是点击按钮下载csdn头像并用imageView控件显示源代码一public class MainActivity extends AppCompatActivity { private Handler handler = new Handler(){ @Override public void handleMessage(@NonNull Message msg) { switch(ms

2021-04-11 12:32:30 346

原创 最新版Android Studio安装踩坑总结

下载AS和gradle都在迅雷下!!!非常快接下来是as配置的坑GRADLE_HOMEGRADLE_USER_HOME%GRADLE_HOME%\binANDROID_HOME 安卓sdkANDROID_SDK_HOME 虚拟机%ANDROID_HOME%\platform-tools%ANDROID_HOME%\tools环境变量Gradle插件 让AS自动下载 不要动版本号这个先用迅雷下载,把zip放在你的GRADLE_HOME检查一下 这几个一定要

2021-04-10 15:19:06 456 1

原创 python encode和decode问题(gbk与utf-8)

结论:中文只能用gbk和utf-8编码,用什么编的码就用什么来解码;gbk每个汉字对应两个字节,utf-8对应三个字节if __name__ == '__main__': #结论:中文只能用gbk和utf-8编码,用什么编的码就用什么来解码;gbk每个汉字对应两个字节,utf-8对应三个字节 #一、当文本是中文 u = '中文' #失败UnicodeEncodeError: 'latin-1' codec can't encode characters in positio

2021-04-03 16:20:11 1163

原创 用resultMap实现多个表中的值映射到一个vo类

一个关系Lists,三个实体Worker、Student、Extinguisher,涉及多表查询from list, student, extinguisher where … 现在要映射到Lists类中,在关系类中创建实体对象然后写Mapper.xml映射,resultMap和association(巨容易写错)type和javaType要带路径column和数据库列名一致property要和实体类成员变量完全一致id标签似乎是去重?<?xml version="1.0" enco

2020-12-02 21:01:06 1373

原创 MyBatis 使用resultMap查询多表并将结果映射为一个vo类

增删改都涉及的是单表,而只有查询操作既可以设计到单表操作又可以涉及到多表操作,所以对于输入映射parameterType而言是没有所谓的高级映射的,也就是说高级映射只针对于输出映射查询到的结果同时包括user表和orders表两张表的列,那么我们将结果映射到哪个pojo对象中呢?若映射到User.java,那查询结果中对应的orders表的字段一定会遗失;若映射到Orders.java,那查询结果中对应的user表的字段同样也会遗失。所以这里需要我们针对查询的结果重新创建一个映射的pojo对象OrderC

2020-12-02 18:34:28 3067

原创 随笔

如何从GitHub上下载项目?下载一个项目中的一个文件或者子文件夹如果不是master分支 , 假如是channel分支中的文件,只需将/trunk/ 换成:/branches/channel/

2020-11-10 17:29:16 177

原创 EL param,getParameter和getAttribute

${id} 意思是取出某一范围中名称为id的变量,它的取值范围Page,Request,Session,Application。而${param.id}就不是从这四个范围取值的方式了,而是相当于 request.getParameter(“id”),就好像从一个jsp页面传值到另一个jsp页面或从表单传递过来的值。比如有一个项目是用网页显示数据库中学生请假信息需求是点击添加一条记录会弹出一个网页addFrag.jsp让我们填写然后提交点击修改一条记录也会弹出addFrag.jsp,修改后提交,那么与

2020-11-07 10:07:31 277

原创 解决CLion控制台乱码

将每个文件编码设置为GBK

2020-11-05 14:13:25 299

原创 this file does not belong to any project target, code insight features might not work properly

将灰色的目录标记即可

2020-11-04 22:13:15 939

原创 深拷贝与浅拷贝

同样一段代码,vs2019崩掉,devcpp和CLion没崩,浅拷贝的缺点可以用深拷贝解决,浅拷贝崩掉的原理如下#include <iostream>using namespace std;int main() { int* p1 = new int(10); int* p2 = p1; cout << (long long)p1 << endl << (long long)p2 << endl; delet

2020-11-03 15:26:26 139

原创 Parameter index out of range 1 > number of parameters, which is 0.

?号被单引号包围。

2020-11-02 20:03:56 125

原创 No tag [foreach] defined in tag library imported with prefix [c]] with root

改成大写!!

2020-11-01 15:24:45 1105

原创 css选择器优先级

优先级如下!importantstyle属性描述精确度id选择器数量多的class选择器数量多的tag选择器数量多的写在后面的js在线编译器<style> div{ color:red; } div p{ color:blue; } /* 精确度 */ #d1 p.cp2#p2{ color:green; } #d1 .cp2.cp2#p2{

2020-10-31 17:42:28 176 2

原创 CLion+MinGW 离线安装配置乱码多个main函数调试

刚开始学cpp,工欲善其事必先利其器,开搞!MinGw在官网下安装程序manager,其实还是要在外网下文件无vpn直接百度网盘链接:MinGW提取码:7oac然后配置环境变量测试配置CLion不用多说,自己去官网下个,认证为学生免费用完...

2020-10-30 17:18:25 202 1

原创 servlet笔记

get和post的区别get是form默认的提交方式如果通过一个超链访问某个地址,是get方式如果在地址栏直接输入某个地址,是get方式提交数据会在浏览器显示出来不可以用于提交二进制数据,比如上传文件post必须在form上通过 method=“post” 显示指定提交数据不会在浏览器显示出来可以用于提交二进制数据,比如上传文件...

2020-05-06 07:59:35 236

原创 7、关系数据库的设计

不好的设计数据冗余:对于每个读者其姓名地址都要重复一次,增加数据输入工作量,浪费存储空间,最大的问题是存储异常,包括插入、删除、修改异常...

2020-05-04 16:59:18 161

原创 6、安全性

自主存取控制下图应改为privileges第一例:不会收回U2权限第二例:会收回U2授予U4U5的权限,但不会收回U1授予U4的权限主体密级等于低于客体密级,主体可以写客体但不能再看到客体...

2020-05-03 21:28:19 227

原创 5、完整性

5.1、数据完整性概述5.2、违反实体完整性规则的操作插入元组更新主码外码的来源5.3、违反参照完整性规则的操作向参照关系R中插入元组(若被参照关系中没有该元组则违反)修改参照关系R的外码值删除被参照关系S元组修改被参照关系S主码值定义Sno外码时级联删除、级联修改;定义Cno外码时只有修改是级联的,DELETE没有定义,默认是no action拒绝,即不允许删除被参照...

2020-05-03 19:14:36 357

原创 大二学习java的一些干货总结

重写hashCode()是为了对同一个key,能得到相同的Hash Code,这样HashMap就可以定位到我们指定的key上;重写equals()是为了向HashMap表明当前对象和key上所保存的对象是相等的object的equals默认是比较内存地址,hashcode默认是内存地址的哈希值,如果equals重写了,他为true时两个对象并不一定内存地址一样,这个时候,如果不重写hashco...

2020-05-02 17:06:02 375

原创 拦截器

使用拦截器对请求进行拦截处理handle()方法执行前执行applyPreHandle(),常用于实现权限handle()方法执行后执行applyPostHandle(),常用于对请求域中的属性或视图(modelAndView)做出修改render()方法执行后(响应后)执行AfterCompletion(),常用于释放资源1、doService拦截请求2、doDispatch()3、...

2020-04-09 18:53:06 101

原创 SpringMVC DispatcherServlet类请求处理过程

1、FrameworkServlet:service()方法2、DispatcherServlet:doService()方法3、DispatcherServlet:doDispatch()方法3.1、找到Controller实例3.2、执行handler方法并得到返回值3.3、内部资源视图解析器解析返回值,拼接出目标jsp页面...

2020-03-26 17:20:12 163

原创 Servlet自启动:load-on-startup作用

1作用:tomacat启动时会创建DispatcherServlet对象并执行init方法,期间会创建IoC容器①HttpServletBean:init()方法②FrameworkServlet:initServletBean()方法③DispatcherServlet:onRefresh()方法④DispatcherServlet:initStrategies()方法...

2020-03-26 17:19:38 327

原创 Spring事务注解@transactional

在天猫上购买商品有以上两种方式①立即购买:②购物车购买book表是商品表:quantity是数量,price是单价money表是用户表:balance是余额一、立即购买:@Transactional、timeout、readOnly、rollbackFor1、钱不够:@Transactional使扣钱和扣书两个动作同时成功同时失败运行后数据正常去掉注解后数据不正常2、...

2020-03-15 18:23:23 151

原创 4、关系数据库标准语言SQL

4.1 SQL概述最早称为Sequel [ˈsiːkwəl],后更名SQLDDL提供了模式定义、修改和删除,基本表定义、修改和删除、域定义、修改和删除、视图的定义和删除DML提供了数据查询子语言;还提供数据更新语句;允许用户对视图进行查询和受限的更新操作DCL定义用户对数据对象的访问权限和审计特点集多种数据库语言于一体高度非过程化面向集合的操作方式一种语法两种使用方式...

2020-03-14 21:49:33 265

原创 4、MyBatis一对一与一对多

准备数据库表--user_info表create table user_info( id int(2) primary key, user_name varchar(12) unique, password varchar(15) not null, real_name varchar(8) not null, age int(3)...

2020-03-13 21:52:22 98

原创 3、Spring整合MyBatis

引包:在spring配置文件application.xml中添加配置信息<!-- context:component-scan标签作用如下: 扫描其base-package标签属性值指定的包内的类、实例化被@Component、@Repository、@Service或@Controller等类注解所注解的类以及为这些类中有@Autowired、 @Resource 或@Injec...

2020-03-09 16:06:03 125

原创 2、MyBatis动态sql

在XML映射文件中1、批量删除 userInfoDao.delete(new int [] {4,11});//删除id为4和11的记录 <delete id="delete"> delete from user_info where id in <foreach item="id" collection="ids" open="(" separator="," ...

2020-03-09 15:50:27 110

原创 1、MyBatis缓存技术

原因为提升查询效率,提高用户体验,MyBatis提供了数据缓存支持,依据数据缓存的有效范围默认定义了一级缓存和二级缓存一级缓存默认开启,不可关闭该级缓存为SqlSession级别,也称本地缓存以下四种情况会导致该级缓存失效①一个SqlSession中,手动清除一级缓存public class Test { public static void main(String[] arg...

2020-03-09 15:28:21 104

原创 0、mybatis的使用

一、为什么使用mybatis为了和数据库进行交互,通常的做法是将SQL语句写在Java代码中,SQL语句和Java代码耦合在一起不利于后期维护修改,而MyBatis能够帮助我们将SQL语句和Java代码分离,方便了后期因需求变动而对SQL语句进行修改。(联系properties文件的作用)二、如何使用mybatis1、准备工作创建Java Project,导入mybatis-3.4.4....

2020-03-07 16:05:51 136 2

原创 除法的加减交替法

加减交替法,也叫不恢复余数法r:余数y*:y的绝对值2r+y*,这里是改r左移为y右移,则为r+y*/2注意是除数右移改-y为+[-y]补

2020-03-04 11:08:03 10117 5

原创 详述Spring AOP @Before,@After,@AfterReturning、@AfterThrowing和@Around

一、AOP的作用当多个方法中出现重复的代码时,一般会将其提取为新的方法,然后通过调用这个新的方法以此简化代码而spring aop就是专门做这样的工作的二、怎么使用AOP1、创建项目我们可以创建一个AOP类,并添加@Aspect注解,在此之前需要引包aspectjweaver-1.8.10.jar;在app.xml文件的Namespaces中勾选aop,配置aop:aspectj-aut...

2020-03-03 16:48:26 2613 1

原创 3、关系数据模型

关系可以使用二维表来表示,表的每一列的分量是属性,表的第一行是表头,除表头外每行对应一个元组,每个元组代表一个实体或联系关系数据库的结构关系模式关系的型用关系模式刻画关系的值即关系在某一时刻的快照,又称关系实例关系模式的概念对应于类型概念,是对关系型的描述,R(U, D, DOM, F),U是诸属性,D是属性对应域,DOM为U到D的映射,D和DOM是定义表时考虑的,F是属性间的数据依...

2020-02-29 16:32:44 919 1

原创 2、实体联系模型

一、实体、实体集学生可以是一个实体,他的属性集可以是学号姓名性别专业等实体的值是它本身的n元组实体集的值是所有n元组二、实体的码、实体的属性码超码:能唯一确定某个实体的属性集码:表示主码或候选码,超码是码的超集候选码:真子集都不是超码的极小超码主码:数据库设计者选中的,区分不同实体的候选码以上四个都可以唯一确定一个实体,码、主码、候选码可发挥的作用都一样属性简单属性:原子...

2020-02-29 16:14:33 663

原创 1、数据库系统概述

1、概念模型:按用户的观点对现实世界进行数据建模常见的概念模型实体-联系模型(Entity-Relationship):是一种广泛使用的概念模型E-R模型基于这样的认识:现实世界由一些称为实体的基本对象和这些对象之间的联系组成实体、联系、属性2、数据模型:按计算机系统的观点对信息世界进行数据建模三要素数据结构:描述对象和对象之间的联系数据操作:查询、更新完整性约束:一组规则,...

2020-02-29 15:36:46 182

原创 邮件协议、域名、域名解析原理、动态DNS、邮件传递过程

一、发送电子邮件的协议SMTP(simple mail transfer protocol)使用的是TCP协议(面向连接的协议,可以保证电子邮件的传输,如果目的地址拼错会返回一个报错的邮件),与POP和IMAP一样,都是在用户的电子邮件客户端进行配置,类似于邮递员SMTP服务器地址为smtp.gmail.com发送邮件服务器设置中输入smtp.gmail.comIP地址所映射成的名称叫主机...

2020-02-29 13:30:11 3041

原创 Queue

取模解决假上溢之后出现了新问题:判断队空队满都是Q.front = Q.rear两种解决方法:①设置标志tag,初始化队列为空时为0,出队tag=0,入队tag=1,Q.front = Q.rear&&tag=0时队列为空,反之满两个首位指针在越过max/0界限时都要变回0:②去掉一个rear或front,加上length来检查队列是否满③(最简单)如下图,少使用一个...

2020-02-29 13:15:47 121

原创 详述泛型

一、泛型的概念泛型是Java 5的新特性,本质是参数化类型使Java语言变得更加简单安全二、在没有泛型时通常通过对Object的引用来实现参数的任意化,缺点使必须做强制类型转换要求预先知道实际参数类型对于强制转换出错的情况,可能会通过编译,只在运行时出现异常,代码存在安全隐患使用泛型编译器会检查类型是否安全,且所有类型转换都是自动、隐式的,可以提高代码复用率三、泛型类clas...

2020-02-29 12:38:24 103

原创 EL与JSTL的用法

eq和一般是一样的,但是注意el表达式中使用判断的时候不允许有空格但是用eq判断的时候就没有这种要求

2020-02-27 17:48:01 103

原创 EL与JSTL实例

效果图:原理点击target进入servlet在servlet中先获取客户端数据再将数据用setAttribute()方法写入request请求中然后请求转发到另一个jsp页面,用EL与JSTL标签将结果打印出来...

2020-02-27 17:34:27 255

空空如也

空空如也

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

TA关注的人

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