- 博客(57)
- 问答 (1)
- 收藏
- 关注
原创 抽象类接口联系与区别
- 子父类中不允许实例化的类可以设计为抽象类,没有实际意义的方法是其中的抽象方法。- 接口可以看做100%的纯抽象类,在Java中被用来解决多重继承中的致命方块问题。
2020-02-21 23:37:09
347
原创 泛型
1. 泛型(generics, genericity)又称为参数化类型(parameterized types)或模板(templates) 。2. 是一种通用的复用技术,不同的语言有不同的实现。3. 泛型在Java语言中通过编译器擦除实现,通过编译期的检查,Java程序也变得更加安全。
2020-02-21 18:03:21
324
原创 面向对象本质
Author JYBlogEmail jcAuthor@163.com本博客GitHub开源(jcNaruto/JYBlog),每周五,周三晚github/公众号等多平台同步更新,欢迎交流讨论~1.概述面向过程将解决问题的步骤写在函数里面,让计算机有步骤的按顺序解决问题,在大型的软件工程开发中这样的过程化会造成维护困难,因为在软件开发中需求的改动是常见的事,例如AB两人同时开发一个软...
2020-02-15 22:19:41
487
原创 Java基本数据类型及其运算
Java基本数据类型及其运算1. 整型运算四则运算对于整型类型,Java只定义了带符号的整型,因此,最高位的bit表示符号位(0表示正数,1表示负数)。各种整型能表示的最大范围如下:byte:-128 ~ 127short: -32768 ~ 32767int: -2147483648 ~ 2147483647long: -922337203685477580...
2019-09-04 17:54:46
328
原创 常见字符集
1. 常见字符集计算机内部所有的信息最终都是一个二进制的值,不管是文本信息或者是图像等的其他信息1.1 文字计算机内部文字的存储就是提前的约定,1(二进制00000001)代表某个字符,32(二进制00100000)代表空格1.2 图像人类已经明白可以通过组合不同比例的红,绿,蓝三种颜色来得到各种各样的颜色,现在的计算机,一般使用32位来表示颜色,4B。前三个B分别代表红,绿,蓝,一个b...
2019-09-03 21:27:02
704
原创 免费使用个人版xshell6,xftp6等工具
不提倡破解!!!https://www.netsarang.com/zh/free-for-home-school/点击填写有效地址之后会收到两封邮件点击即可下载
2019-04-10 22:21:09
1836
原创 Mysql中char(n),varchar(m)区别
1.char(n)是一种固定长度的类型,其最大长度是n,该中类型的字段占用的不变的字节数,如果存储是长度为n的汉字,就占用3n的字节数(utf-8下一个汉字三个字节),如果存储长度为n的英文就占用n个字节数,如果存储长度小于n的数值,MySQL就会在它的右边用空格字符补足。2.VARCHAR(M)是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串...
2019-03-30 16:08:35
1256
原创 计算机网络面试核心
1.OSI七层协议体系结构注:OSI的七层协议体系结构概念清楚,理论完整,但是其复杂又不实用,因此仅仅存活于书面理论上,TCP/IP体系结构(4层)则不同,得到了非常广泛的应用,因此在学习计算机网络原理的时候,往往采取折中的办法,讲述一种结合双方优点的五层体系结构。这就是七层,五层,四层协议体系结构的来历。物理层:在物理层上传输的数据单位为比特,物理层确保原始的数据可在各种物理媒体上传输,...
2019-03-20 10:44:52
344
原创 腾讯云发送短信
简介:阿里云中的短信服务已经不提供个人用户的入口,但是腾讯云中提供了已认证之后的域名的短信服务接口,所以如今只要有一个已经认证之后的域名就可以使用短信服务在腾讯云官网 注册账号完成实名认证登陆腾讯云,产品中选择”短信服务申请签名注:最后的短信为【jiachzhao】5678为您的登录验证码,请于123分钟内填写。如非本人操作,请忽略本短信。此处的签名内容即为【xxxxx】短信发送...
2019-03-13 15:22:58
4288
原创 反射
注:本文只是博者对反射自己的理解,具体的api等请自行查询,欢迎指正JAVA反射(reflect)机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。但是一般在服务端开发的时候常用反射,例如加载数据库驱动时会这样写:Class.forName(“com.mys...
2019-03-13 12:54:30
182
原创 Properties,xml,yml对比
1. Properties该文件以后缀.properties结尾,这种文件允许使用key=value的格式存储内容,多用于来做配置文件,Java中用Properties类来读取该配置文件,其他语言也有相应的类去读取properties文件,由于难以表达层次, 复杂的配置文件可以用xml或者yml做配置.用#做注释2.XMLeXtendsible markup language 可扩展的标...
2019-03-13 12:18:19
8429
原创 Java运行过程粗略解析
import xxxx.testBpublic class testA{ public static String test = "123"; public static void main(String args[]){ testB b = new testB(2, “234”); b.message(); } }public class testB{ int num =...
2019-03-11 21:53:54
224
原创 spring data jpa使用注解校验参数,已经标注@Valid和BindingResult,为什么参数校验失败仍不执行controller
spring data jpa中有校验参数的注解,只要在相应的实体上使用注解,并且在controller的形参前加上@Valid和参数BindingResult就可以实现及时参数校验失败后继续进入controller方法进行异常抛出与日志记录,但是初用发现,不会进入controller方法这是因为BindingResult必须紧接在在@Valid 注解标注的参数的后面如下正确...
2019-03-06 15:18:30
2436
原创 spring boot环境下实现restful+前后端分离的网页开发
1.简介:环境spring boot+restful的API+html等网页(前提已经具有rest风格的接口,并且引擎模板(themleaf之类的已近搭建好))在resources下建立static目录,templates目录中的网页无法直接访问,也就是得从controller中的方法才能访问到templates中的网页,但是前后端分离仅仅用json数据进行交互,所以再次要可以直接访问网页(如...
2019-03-06 15:10:35
1378
原创 学生如何免费激活JetBrain所有产品(PyCharm,IDEA......)
前提:版权意识的重要性不言而喻(抛去法律等的规则来说,可以近似理解为一种对别人付出的尊重),本文为学生免费激活JetBrain所有产品(PyCharm,IDEA…)。https://www.jetbrains.com/ 进入jetBrains的官网,点击support中的for education2.点击apply for free student pack3.可以选择更换语言,然后发...
2019-03-04 13:10:43
4859
2
原创 日志
1.日志的起源日志最先出现在航海领域,是记录航行情况的主要文件,之后日志也被应用在航空领域,黑匣子就是一个日志文件载体,空难发生后可以通过黑匣子,并解析其中的日志还原灾难真相。2.日志在解释注:笔者在理解日志之后试图用自己的言语组织出来Jiacheng开发一个后台应用,为了方便调试在程序中加入了许多输出语句,将关键的信息在控制台中打印出来,但是后来发现这样的输出语句太多,但是如果去掉又不能...
2019-03-02 14:53:28
681
原创 浮点数运算产生误差的原因详解
背景:业界主流的IEEE754浮点数标准,对该标准表示浮点数的方法熟知,如诺不知,请参考前篇博文:https://blog.youkuaiyun.com/Naruto_c/article/details/85287793浮点数加减运算步骤零值检测(浮点数的加减运算十分麻烦,如果检测到该浮点数的阶码和尾数全为0及表示浮点数0就直接得出结果)对阶操作,通过阶码大小的比较对其小数点,尾数向右移一位,十进制的...
2018-12-27 19:09:16
4060
原创 移码与浮点数标准IEEE754详解,浮点数存储存在误差的原因
本篇文章将阐述移码的概念以及当前业界流行的浮点数标准IEEE754,在下一篇文章中将会详细阐述为什么浮点数的计算总会产生微小误差1.移码注:移码无符号位,运用上述的方法将移码得出之后,便直接采用无符号的进制转换方法,全是正整数,因此移码的意义就是可以直观的反映两个值的大小,只要高位对齐后逐个比较便可以十分方便的得到两真值的大小关系2.IEEE754详解重要:十进制小数与IEEE7...
2018-12-27 16:05:17
2790
1
原创 计算机内数据表示,原码,反码,补码的概念,计算机内二进制的加减法
前言当前计算机功能繁多,无论是软件开发,还是大数据计算,归根结底都是0与1的信号的处理,也就是说信息存储和逻辑计算的元数据只能是0或者1,但是其在CPU中的物理表现方式确是低电平或者高电平。1. 数据表示注:例题中的数字右下角分别代表10进制和二进制,权值的计算就是以二进制的例题为例就是一乘以二的三次方1.1无符号的数据表示以CPU中有8条电路为例(便于理解假设),每条电路有低电...
2018-12-27 15:38:11
581
原创 classpath环境变量详解,path环境变量与classpath环境变量区别
背景知识已了解path环境变量,如不了解请参考博文实际上,JDK1.5以上的版本已经可以完全不用设置classpath环境变量,但是学习令自己感兴趣的知识本身就是一件奢侈的事情(虽然开发中帮助不大,但是可以解惑)当我们使用path变量找到java javac这两个命令之后将Java源文件编译为字节码文件之后,JRE是默认去当前路径下搜索字节码文件,但是在jdk1.5之前是要自己配置classp...
2018-12-27 00:19:24
649
原创 MySQL创建用户,授予权限,撤回权限,修改密码,删除用户
数据库管理与控制中的一部分便是安全性控制(防止数据库被不合法的使用),其中安全控制方法包括用户标识与识别存取控制视图机制审计日志机制其中存取控制方法又分为三种自主存取控制(DAC)强制存取控制(MAC)基于角色的存取控制(RBAC)接下来对MySQL的DAC进行创建用户,授予权限,撤回权限,修改密码,删除用户的操作创建用户/*'user_name'@'localhost'...
2018-12-26 23:30:10
479
原创 JDK,JRE,SDK联系及区别,path环境变量,PATH环境变量,用户变量,系统变量联系及区别(Java开发的准备)
Java开发的准备在开发Java程序之前,必须在计算机上安装和配置JDK。1.JDK(Java SE Development Kit)Java 标准版开发包,是Oracle提供的一套用于开发Java程序的开发包,它包括Java编译器,Java运行时环境,Java常用类库。2.JRE(Java Runtime Environment)JRE包含在JDK中,当然也可以单独安装,JRE是Jav...
2018-12-26 20:40:02
1011
原创 Java语言简介(历史,分类,Java程序运行机制,字节码文件用处)
1.Java语言简介1. Java发展历史Java语言的诞生并没有经过精心策划,其更像是一种必然的戏剧。1990年末,Sun公司决策为未来家电编写一套嵌入式系统,于是Sun公司成立了一个由James Gosling领导的Green计划,该团队最初打算使用C++,但是嵌入式平台资源有限,再加上C++较为复杂,于是sun公司的首席科学家Bill Joy决定研发一种新的语言:Oak,1992年Gr...
2018-12-25 21:07:52
368
1
原创 eclipse,IDEA 阿里巴巴代码规范插件安装及使用
何为代码之美,一种之前存在的现象便是工程师以自我为中心,显示个性的写下了代表着个人艺术的代码,但是很大程度上会制约了团队的沟通,高效协作能力,并且会对日后的维护造成巨大的麻烦,因此此种方式的代码之道显然行不通,但是真正热爱代码的人不都具有追求美的特性吗,这种特性应该是深刻认识到代码规约并不是美所展现的地方,美的展现应该侧重于算法效率的提升,代码可读性,可维护性的增强上。基于阿里巴巴自主研发的ID...
2018-12-25 14:51:19
902
原创 机器语言,汇编语言,高级语言简介
程序设计语言简介1.程序设计语言分类1. 机器语言(machine language)一种二进制语言,直接使用二进制代码表达指令,是计算机硬件可以直接识别和执行的程序设计语言,例如执行数字2和3的加法,16位计算机上的指令为:11010010 00111011(对,就是这样枯燥的0与1的数据流录入),其最大的优点就是可以直接对芯片进行指令操作,其最大的问题也来源于此,不同计算机结构的机器指令...
2018-12-24 21:33:31
5859
原创 mybatis中注解式开发中传递多个参数的方式
在mybatis的动态代理开发中,当接口需要传入多个参数时,一般有以下几种做法(推荐@Param方式)1.传递包装类型(不推荐要创建一个包装类去包含所有的参数类型,并且在#{}中还要填入特定的值)2.假设接口中传入两个参数则#{0}代表第一个参数,以此类推<select id="xxxxx" > select * from xxxxxx where xxx...
2018-08-12 20:36:54
2006
原创 springMVC接收异步请求时contentType : 'application/json'的作用
$.ajax({ url : addUrl, type : 'POST', data : JSON.stringify(productCategoryList), contentType : 'application/json', ...
2018-08-11 20:44:39
1184
转载 classpath
引用:https://blog.youkuaiyun.com/javaloveiphone/article/details/519942681、src不是classpath, WEB-INF/classes,lib才是classpath,WEB-INF/ 是资源目录, 客户端不能直接访问。(Tomcat中)2、WEB-INF/classes目录存放src目录java文件编译之后的class文件,xml...
2018-08-08 20:42:08
208
原创 eclipse中的folder,sourcefolder,package
首先这三个都是文件夹,只是其用法有所不同sourcefolder就是资源文件夹(只能和src同级),src就是sourcefolder类型,package只能存在于sourcefolder下,右击非sourcefolder也可以创建但是会自动放到sourcefolder下,folder可以存放于Java工程的任何地方(Java project 通过创建lib文件夹引入jar包)source...
2018-08-08 20:29:08
380
原创 Failed to load resource: the server responded with a status of 404 (Not Found) favicon.ico
初学项目,在用Chrome的开发者工具过程中发现该错误,Failed to load resource: the server responded with a status of 404 (Not Found) favicon.ico。简而言之就是缺失favicon.ico文件。Google之后发现该文件是指简单来说,该文件就是收藏后显示的图标,浏览器一般自动在网站根目录寻找。 ...
2018-05-30 22:39:53
20057
1
原创 Hibernate 异常No row with the given identifier exists
初学hibernate中遇到的一个异常 HTTP Status 500 - No row with the given identifier exists,造成的原因是在用数据库中的有一对多关系的表存在,并且在hibernate的mapping配置中至少有一方进行了配置,最重要的是表中的数据有问题,外键的值在一的一方的表里没有主键与之对应解决办法:第一种:在多的一方(外键值多余的一方)加上...
2018-05-30 22:26:07
346
原创 id to load is required for loading
在ssh项目中报该错,说明hibernate依赖oid查询时传入的id为空,只需检查struts参数接收或者页面提交的name属性或者其他就行
2018-05-20 11:52:17
529
原创 ssh项目struts2参数接收乱码解决(ajax异步提交)
背景:所有的编码环境均为utf-8,(IDE,tomcat,jsp,html,css) ssh2项目初期,列表条件查询,HTML页面异步提交,用属性驱动接受参数,但参数出现了中文乱码首先查看了编码环境是一致的,又百度了各种解决方法,最后无果之后试着将参数先解码又编码发现可行String nameUTF8 = new String(dep.getName().getBytes("ISO8...
2018-05-18 22:30:57
536
原创 maven报错(Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.5.1:compile
出错背景,已在maven的父工程的pom.xml中手动添加了编译插件,<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1&...
2018-05-17 16:55:40
4037
原创 Missing artifact com.oracle:ojdbc6:jar:11.2.0.1.0两种解决方案
Missing artifact com.oracle:ojdbc6:jar:11.2.0.1.0 为初学者使用maven引入Oracle坐标时常见的一个错误这是因为Oracle是收费的,maven的中央仓库中无对应的jar包,所以需要手动的配置到本地仓库中或者直接更改version1.手动导入下载ojdbc6.jar到本地腾讯微云链接 点击打开链接以管理员身份打开cmd并...
2018-05-17 16:08:58
13908
4
原创 plsql developer 中文乱码解决
1)输入sql语句select userenv('language') from dual查看数据库字符集 2)输入sql语句select * from V$NLS_PARAMETERS查看本地字符集,查看第一行和第九行是否对应 3)查看下环境变量的设置,查看是否有变量NLS_LANG,没有则新建变量,设置变量名:NLS_LANG,变量值:SIMPLIFIED CHINESE_...
2018-05-17 09:23:55
1846
原创 hibernate出现打印SQL语句读取不到值的情况的解决
当初学hibernate时,曾看到好多人遇到了这样的情况运行并没有报错,为什么我的SQL语句就是没法读取到值呢,其实这是因为orm元数据配置出现了错误其实在orm元数据配置文件中,是property,并不是properties,初学者往往不注意,并且该细节IDE工具也不提示。...
2017-12-16 16:35:07
1264
原创 ==与equals详解
1.====运算符是条件运算符中的一种,接下来将详细介绍其用法a.如果两端都是基本数据类型变量,且都是数值类型,只要变量值相等就返回true(数据类型可以不同) public static void main(String[] args) { int num = 97; char ch = 'a'; System.out.println(ch==num);//tru...
2017-12-15 21:36:22
297
原创 详解LinkedList实现类
LinkedList类是List接口的实现类,说明它可以根据索引来随机访问集合中的元素,同时,LinkedList还实现了Deque接口,说明其可以被当作双端队列来使用,并且也可以当做栈来使用。1.什么是Deque接口。Deque接口是Queue接口的子接口,它代表一个双端队列,Deque接口中还定义了一些允许从两端来操作队列的方法。 void add First ( Object e
2017-12-13 21:17:41
831
空空如也
java异常处理机制简单总结
2017-09-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人