- 博客(496)
- 资源 (474)
- 问答 (3)
- 收藏
- 关注
原创 序列化和反序列化(二)——Serializable 接口
Serializable 接口:该接口没有方法或字段,仅用于标识由该接口实现类创建的对象是可序列化的。 示例:import java.io.Serializable;public class UserInfo implements Serializable { private static final long serialVersionUID = -56404023...
2019-04-24 16:18:10 817
原创 序列化和反序列化(一)——概述
是什么 将堆内存中Java对象转换为字节序列的过程称为序列化(Serialization),对象转换成字节序列便于将其存储在文件中或在网络上传输;将字节序列恢复为对象的过程称为反序列化(Deserialization)。 注意:序列化时,只对对象的状态进行序列化,而不管对象的方法;为什么序列化与反序列化意义: a、通过序列化可以将Java...
2019-04-24 16:04:30 937
原创 代理模式之动态代理
动态代理指在程序运行期间JVM根据需要通过反射等机制动态地创建代理类及其代理对象,这种代理有如下特点:代理类是在程序运行期间创建,可以在classpath目录(在Eclipse中,Java工程中的bin目录;Web工程中的build目录)中看到该文件;代理类和委托类的关系是在程序运行时确定的。场景: 企业请明星唱歌或者导演请明星拍摄电影或电视剧,一般先通过其经纪人...
2019-04-06 14:22:59 555
原创 代理模式之静态代理
代理模式(Proxy Pattern) 代理模式是一种软件设计模式,为某个实现类(也称目标类或委托类)对象提供一个代理类,代理类通过控制该对象的访问可以为该对象中的方法增加额外的功能。静态代理: 静态代理由一个接口、实现类(也称目标类或委托类)、代理类三部分组成,实现类和代理类均须实现接口中定义的抽象方法,不同之处在于,实现类负责实现主要的业务方法,代理类负责对...
2019-04-05 16:34:28 535
原创 你能看懂吗?
public class Test { public static void main(String[] args) { byte a=1;//为什么编译不报错?javac编译代码时发现变量a是byte类型,byte类型有八个二进制位,其范围为-128 ~ 127,而1在其范围内,所以编译通过。 byte b=1; byte c = a+b;//为什么编译报错?a和b是两...
2019-03-27 14:31:36 680 2
转载 Java开发者值得关注的十个技术博客
Java是世界上最流行的程序语言,从1995年问世以来,Java的生态系统在一直在蓬勃的发展着。作为一门健壮的技术,Java社区为广大开发者提供了包括框架、库、web开发sdk、JVM语言等资源。在各种科技行业都能够找到关于Java编程的相关资源,这就是为什么Java会如此受人喜爱。在今天,发达的网络技术推动了Java的发展,越来越多的人选择在网上学习,查看技术大牛的博客并进行交...
2019-03-08 10:08:21 682
原创 软件测试必读的经典书籍
1、软件测试的艺术(原书第3版)从第1版付梓到现在已经30余年,是软件测试领域的经典著作:第一章以一个小测试作为引子,第二章阐述全书的核心思想,后面各章就讨论了详细的方式方法。所谓详细也是相对而言,能打下进一步学习的基础就足够了。实例很少,偏向于原则、理论、概念。如果想应聘测试工程师,也可以作为恶补书籍,也是就该书小而全。2、软件测试(原书第2版)该书内容全面实用,讲述浅显易...
2019-01-15 15:20:30 19247 1
原创 为什么需要数据库外键
外键指定一个字段或字段组合作为一个外键(即外来的主键或唯一键),该外键和另一个表的主键或唯一键建立起一个关系,只能定义为表级约束。MySQL数据库使用外键条件:两个表存储引擎必须是InnoDB,MyISAM暂时不支持外键;外键列必须建立索引,MySQL4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显式建立;外键关系的两表的列的数据类型必须相似,必须是可相互转换类型的列,比...
2019-01-09 15:59:26 2036
原创 狼性文化遭质疑,那我们当个佛系程序员可好?
上周,华为轮值董事长郭平发了《不经艰难困苦,何来玉汝于成》的2019年新年致辞。在致辞中,郭平透露华为在2018年,公司预计实现销售收入1085亿美元,同比增长21%。在华为高速发展的背后,其推崇的“狼性文化”备受争议。有人认为,狼性文化是吃人的文化,企业把自己称作“狼”的员工,给当成“羊”一口吃掉。有人则认为,当你选择高薪高压的工作后,必然需要舍弃一些东西。前华为员工焱公子在《狼性的华为...
2019-01-08 12:04:43 5303 6
原创 线程组总结
线程组表示一个线程的集合,也可以包含其他线程组;线程组的出现便于对相同操作的一批线程进行分类管理,比如将多个线程设置为守护线程,每个线程对象调用setDaemon方法可以实现,但是工作量比较大;可以将这些线程加入到一个线程组,然后线程组对象调用setDaemon方法,即可将该线程组中的线程设置为守护线程。ThreadGroup对象表示一个线程组1.常用构造方法:a、public T...
2019-01-02 17:01:41 1817
原创 Java控制台输出
public class Test{ public static void main(String[] args) { System.out.println("Tom,12"); System.err.println("Tom,12"); System.out.printf("%s,%d","Tom",12);//很神奇! }}
2019-01-02 14:49:55 9018 1
原创 线程池总结
为什么 1、提高程序的执行效率; 如果程序中有大量短时间任务的线程,由于创建和销毁线程需要和底层操作系统交互,大量时间都耗费在创建和销毁线程上,因而比较浪费时间,系统效率很低;线程池里的每一个线程任务结束后,并不会死亡,而是再次回到线程池中成为空闲状态,等待下一个对象来使用,因而借助线程池可以提高程序的执行效率。 2、控制线程的数量,防止程序崩溃;...
2018-12-29 14:47:37 1355
原创 C语言动态链表实现KTV点歌系统
实现代码:#include <stdio.h>#include <string.h>#include <stdlib.h>struct Song { int time;//播放次数 char name [30];//歌名 char author [36];//作者 char content [1200];//歌词 ...
2018-12-25 09:48:50 7504 3
原创 修改Code Blocks默认代码格式
和Eclipse一样,在Code Blocks开发工具中,鼠标点击代码编辑区,然后点击鼠标右键,最后鼠标浮到并点击“Format use Astyle”可以自定格式化C或C++代码,但见惯了Java代码格式,总感觉默认的代码风格怪怪的(大括号另起一行,很不习惯),如何修改Code Blocks默认代码格式呢?1、点击Settings菜单,如下图:2、点击Editor...,如下图:...
2018-12-19 17:05:00 5706
原创 代码实现动态链表
动态链表:指在程序执行过程中从无到有地建立起一个链表,即通过malloc函数一个一个地开辟节点,然后输入新节点各成员数据,最后和前节点(如果当前节点不是首节点)建立起前后相链的关系的链表。#include <stdio.h>struct Node { int id; char name [100]; struct Node * next;};st...
2018-12-19 16:34:37 906
原创 条形码技术
1、下载jar包:https://download.csdn.net/download/wangshuxuncom/108521232、编写生成条形码的java代码:import java.awt.image.BufferedImage;import java.io.FileOutputStream;import java.text.SimpleDateFormat;import ...
2018-12-16 16:45:53 796
原创 C语言常量与常变量
常量:使用#define定义常量,常量名大写,定义时无需指定数据类型,行末没分号;不允许改变值;常量不占用内存,只是一个临时符号,代表一个值,预编译时会进行字符替换(将临时符号替换成对应的值),替换完临时符号就不存在了;常变量:使用const定义常变量,常变量名小写,定义时需指定数据类型,行末以分号结束;不允许改变值;常变量占用内存;...
2018-12-13 10:51:09 5094 3
原创 C语言随机读写数据文件(二)
int fseek(FILE * fp, long offset, int fromWhere):设定文件位置标记,方法参数说明:fp:FILE类型指针,该指针对应的文件即是文件位置标记所标记的文件;offset:偏移量;fromWhere:偏移起始点,其值可以为SEEK_SET、SEEK_CUR和SEEK_END;SEEK_SET:从文件开头处开始偏移#include <s...
2018-12-12 21:27:55 709
原创 C语言随机读写数据文件(一)
void rewind(FILE * fp):将文件位置标记重新指向文件开头,该函数没有返回值;【例子】计算机D盘根目录有一个存放学生信息的stud.dat文件,请先讲文件信息显示在控制台,然后在将数据复制到F盘stud.dat文件中。#include <stdio.h>#include <stdlib.h>int main(){ struct Stu...
2018-12-12 20:44:17 2696
原创 C语言二进制方式读写文件数据
fwrite(buffer, size, count,fp):以二进制的形式向指定的文件中写入若干数据项(由count决定),返回实际写入的数据项数目,各参数含义如下:buffer:一个存储区的起始地址,以该地址开始的存储区的数据即是保存到文件中的数据,可以是数组或指针类型;size:单个数据项的大小(单位:字节);count:数据项数量;fp:FILE类型指针,该指针对应的文件即...
2018-12-12 06:35:40 32389 4
原创 C语言复制二进制文件
#include <stdio.h>#include<stdlib.h>#define APACITY 2048int main(){ FILE * input= fopen("D:\\movie.mkv","rb"); FILE * output= fopen("D:\\电影.mkv","wb"); if(input==NULL){
2018-12-10 11:57:50 2413
原创 如何使用CodeBlocks开发C/C++程序
CodeBlocks 是一个开放源码的全功能的跨平台C/C++集成开发环境,ACM/ICPC竞赛(大学生程序设计竞赛)推荐C/C++开发工具,那么如何使用该工具开发C/C++程序呢?a、下载工具:https://download.csdn.net/download/wangshuxuncom/10767958b、安装并启动CodeBlocks工具,如下图:c、点击“File...
2018-11-06 18:05:39 7065
原创 如何使用:after伪元素和:before伪元素
:after伪元素和:before伪元素分别用于在元素之后和之前添加内容,实际网页开发过程中:after伪元素比较常用,借助:after伪元素一般用于清除浮动,如下代码:<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>:after清除浮动</ti..
2018-08-05 19:29:28 1039
原创 Bug 引发的 18 次重大事故
无论工程师做了多少枯燥的测试工作,无论他们熬了多少不眠之夜在编程,但最终他们得到的是:会导致软件彻底出问题的 bug。你知道吗,由于软件故障(bug),美国经济每年在浪费生产力、返工和实际毁坏上损失了数十亿美元,软件故障背后的常见原因有: · 错误的结构定义和底层设计; · 脱离大量可靠数据和分析的强制性计划或里程碑日期; · 没有考虑和调...
2018-04-12 10:34:48 8625
原创 notepad++自动补全括号
1、启动Notepad++,如下图:2、依次点击上图“设置”——>“首选项”,如下图:3、点击上图“自动完成”节点——>勾选红框框起的复选框——>点击“关闭”按钮,至此问题解决。...
2018-03-20 11:41:12 3017
原创 Redis应用(四)——在Spring框架中的应用
工程代码下载地址:http://download.csdn.net/download/wangshuxuncom/10204911
2018-01-14 15:26:11 581
原创 Redis应用(三)——在非框架中的应用
IOTool类:package com.lq.tool;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream
2018-01-13 20:23:27 756
原创 Windows中MySQL主从数据库搭建(二)
MySQL数据库权限的授予语法:grant privilege1, privilege2,…privilegen on database_name.table_name touser_name@user_address [identified by 'password'];privilege1, privilege2,…privilegen:privilege代表select、insert、upd
2018-01-10 20:34:46 664
有了NVM,再也不用频繁卸载安装NodeJS了.zip
2024-03-14
分布式事务实战.zip
2024-03-02
Keepalived讲义.zip
2023-12-21
Shiro讲义.zip
2023-12-20
Leaflet讲义.zip
2023-12-20
LR2022社区版(下).zip
2023-08-25
LR2022社区版(中).zip
2023-08-25
如何配置kubernetes-dashboard.zip
2023-06-12
如何配置K8s图形化界面管理工具Kuboard.zip
2023-06-11
如何安装与使用HBuilderX.zip
2023-06-07
如何在Linux中部署禅道项目.zip
2023-06-06
如何在Linux中安装与使用PostgreSQL.zip
2023-06-03
如何在Windows中安装与使用PostgreSQL.zip
2023-06-03
如何搭建与使用FTP服务器.zip
2023-05-31
如何在Linux中安装Gitblit.zip
2023-05-29
如何在Linux中安装GitLab.zip
2023-05-29
如何使用Harbor私有镜像仓库.zip
2023-05-28
如何在Centos7中安装Harbor私有镜像仓库.zip
2023-05-26
如何在Kubernetes中部署nginx.zip
2023-05-25
如何在Centos7中安装Kubernetes.zip
2023-05-24
如何在 Windows 系统上安装 SQL Server 2022.zip
2023-05-13
node-v19.9.0.zip
2023-04-12
如何使用Docker搭建MySQL主从数据库.zip
2022-09-21
如何在CentOS 7.6系统中以“静默安装”的方式安装及使用Oracle 21c.zip
2022-08-21
如何在CentOS 7.6系统中以“界面安装”的方式安装及使用Oracle 21c
2022-08-20
如何为VMware创建的虚拟PC机安装Linux操作系统.zip
2022-08-18
如何在 Windows 10 系统中安装、使用和卸载Oracle 21c.zip
2022-08-17
MyBatis如何调用存储过程.zip
2022-07-19
Maven私服.zip
2022-05-20
如何在Windows系统中安装、配置和启动Kafka
2022-05-16
Flow Player 开发工具
2015-06-19
TA创建的收藏夹 TA关注的收藏夹
TA关注的人