java
奋斗成就男人
这个作者很懒,什么都没留下…
展开
-
Maven子工程继承父工程
利用Maven可以对项目进行分模块开发。那么怎样把各个模块整合到一起呢?这就利用了Maven继承的特性。一般是每个模块都继承一个父工程。几个注意的地方:(1)父工程的packaging是pom(2)父工程中定义属性,子模块不用定义,会继承下来(3)父工程的依赖放在dependencyManagement中,这样子模块才能继承父工程的依赖(4)父工程的pom.xml文件中定义了modules,整合子模块的artifactId(5)子模块的pom.xml文件中定义了parent标签,里面是父工程的g转载 2021-12-27 10:36:10 · 3000 阅读 · 1 评论 -
Serializable的使用
本次讲解中我们建立一个Java的项目去体会一下序列化Serializable的使用,序列化的原理以及序列化的自定义请参见我的另外一篇博客(java高级---->Serializable序列化的源码分析) 目录导航 Serializable序列化的简要说明 Serializable序列化的代码实例 Externalizable序列化的代码实例 友情链接 ...转载 2019-02-11 16:12:43 · 150 阅读 · 0 评论 -
java中的反射
主要介绍以下几方面内容理解 Class 类 理解 Java 的类加载机制 学会使用 ClassLoader 进行类加载 理解反射的机制 掌握 Constructor、Method、Field 类的用法 理解并掌握动态代理1.理解Class类 –对象照镜子后可以得到的信息:某个类的数据成员名、方法和构造器、某个类到底实现了哪些接口。对于每个类而言,JRE 都为其保留一个不变的 ...转载 2019-02-11 15:52:03 · 167 阅读 · 0 评论 -
Java基础之—反射(非常重要)
反射是框架设计的灵魂(使用的前提条件:必须先得到代表的字节码的Class,Class类用于表示.class文件(字节码))一、反射的概述JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。要想解剖一个类,必须先要获取到该类的字节码文件...转载 2019-02-11 15:49:54 · 106 阅读 · 0 评论 -
JDK中设计模式
本文主要是归纳了JDK中所包含的设计模式,包括作用和其设计类图。首先来个总结,具体的某个模式可以一个一个慢慢写,希望能对研究JDK和设计模式有所帮助。一、设计模式是什么(1)反复出现问题的解决方案(2)增强软件的灵活性(3)适应软件不断变化二、学习JDK中设计模式的好处(1)借鉴优秀代码的设计,有助于提高代码设计能力(2)JDK的设计中体现了大多数设计模式,是学习设计模式的较好...转载 2019-02-11 15:48:19 · 131 阅读 · 0 评论 -
JDK源码阅读顺序
很多java开发的小伙伴都会阅读jdk源码,然而确不知道应该从哪读起。以下为小编整理的通常所需阅读的源码范围。 标题为包名,后面序号为优先级1-4,优先级递减 1、java.lang1) Object 12) String 13) AbstractStringBuilder 14) StringBuffer 15) StringBuilder 16) Boolean 27) B...转载 2019-02-11 15:41:46 · 137 阅读 · 0 评论 -
有哪些 Java 源代码看了后让你收获很多,代码思维和能力有较大的提升?
最早看的 架构探险 从零开始写Java Web框架,黄勇写的,算是一种启蒙,作者自己写了一套ioc和aop框架以及mvc请求分发框架。跟着写了一遍,基本明白了Spring 和SpringMVC是怎么工作的然后顺着思路看了2遍Spring和SpringMVC的源码,一遍是跟着流程走了一边,一遍是基于接口和类的功能整体了解了一遍架构设计再后来看了how tomcat works,看了一遍中...转载 2019-02-11 15:29:59 · 173 阅读 · 0 评论 -
JDK部分源码阅读与理解
不喜欢重复造轮子,不喜欢贴各种东西、JDK代码什么的,让整篇文章很乱。。。JDK源码谁都有,没什么好贴的。。。如果你没看过JDK源码,建议打开Eclipse边看源码边看这篇文章,看过的可以把这篇文章当成是知识点备忘录。。。 JDK容器类中有大量的空指针、数组越界、状态异常等异常处理,这些不是重点,我们关注的应该是它的一些底层的具体实现,这篇文章就是我看完这部分源码之后的觉得有用的知识点总结...转载 2019-02-11 15:26:07 · 545 阅读 · 0 评论 -
源码阅读的真实体会
刚才在论坛不经意间,看到有关源码阅读的帖子。回想自己前几年,阅读源码那种兴奋和成就感(1),不禁又有一种激动。 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心。 说到技术基础,我打个比方吧,如果你从来没有学过Java,或是任何一门编程语言如C++,一开始去啃《Core Java》,你是很难从中吸收到营养的,特别是《深入Java虚拟机》这类书,别人觉得好,未必适合现在的你。 虽然T...转载 2019-02-11 15:17:27 · 151 阅读 · 0 评论 -
Linux下磁盘分区,格式化以及挂载
接下来,我们详细介绍在Linux下,如何用命令对磁盘进分区、格式化以及如何挂载到目录。 测试环境:VMware Workstation / centos7 操作步骤: 第一步:首先来看看当前虚拟机的磁盘情况。 以及先前分区情况:由下,可以看到我们对sda这个磁盘,进行了三次分区。 第二步:添加额外的磁盘。我们在来看看,...转载 2019-02-01 15:06:17 · 157 阅读 · 0 评论 -
Linux下给普通用户部分执行权限添加为root权限
有时候我们使用Linux系统时候会提示Access denied,或者提示You need to be root to perform this command。这是由于当前用户的权限不够,这也是为了安全使用,一般我们的做法可能就是在执行命令前添加sudo 来短暂获取到root权限来执行命令,但是有些时候我们完全可以将该命令放开到普通用户,此次文章将以登陆mysql命令来说明。首先我们来认识下...转载 2019-02-01 15:03:39 · 566 阅读 · 0 评论 -
Serializable的过程分析
本次讲解中我们在上次的基础上,深入的了解一下序列化的流程以及其中的原理。关于序列化的一些知识与使用,请参见我的另一篇博客:java基础---->Serializable的使用。好了,我们进行以下分析的讲解。目录导航 Java序列化的原理分析 自定义Serializable的使用 友情链接Java序列化的原理分析java基础---->Serializab...转载 2019-02-11 16:20:39 · 144 阅读 · 0 评论 -
Java动态代理的原理
Java动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程中,开发人员还可以按需调整委托类对象及其功能,这是一套非常灵活有弹性的代理框架。下面我们开始动态代理的学习。 目录导航 动态代理的简要说明 简单的Java代理 Java的动态...转载 2019-02-11 16:21:26 · 121 阅读 · 0 评论 -
Java-XML的解析与生成
XML解析零、创建一个XML文件如果学过HTML,那么这就看着很轻松了,就是由一个一个标签组成的,开头的第一行是版本和编码的声明,一般不会改变。这里我们创建一个简单的books.xml文件。<?xml version="1.0" encoding="UTF-8"?><books> <book id="1"> <nam...转载 2019-09-30 17:07:50 · 774 阅读 · 0 评论 -
XML转Map
import java.util.HashMap;import java.util.List;import java.util.Map;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import org.dom4j.Element;impor...原创 2019-09-30 16:41:41 · 115 阅读 · 0 评论 -
java 从网上下载文件的几种方式
package com.github.pandafang.tool;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.net....转载 2019-09-30 16:23:02 · 95 阅读 · 0 评论 -
Java反射常用示例
package xmq.study.reflection;import java.lang.annotation.Annotation;import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.lang.reflect.M...转载 2019-07-31 11:16:27 · 95 阅读 · 0 评论 -
实体entity、JavaBean、Model、POJO、domain的区别
实体entity、JavaBean、Model、POJO、domain的区别Java Bean、POJO、 Entity、 VO , 其实都是java 对象,只不过用于不同场合罢了。按照 Spring MVC 分层结构:JavaBean: 表示层 (Presentation Layer)Entity: 业务层 (Service layer)Dao: 数据访问层 (data acc...转载 2019-07-19 19:12:25 · 495 阅读 · 0 评论 -
JAVA发送邮件最全示例
发送邮件是我们在程序开发中很常见的功能,比如注册通知、找回密码等,在网上也有很多关于JAVA发送邮件的示例,但多数都是只介绍了其中的一部分,今天为大家提供一些JAVA发送各种形式邮件的示例,供大家学习参考。JAVA MailJAVA Mail是很常用的用于发送邮件的包,我们可以从这里获取,或者在maven中添加如下配置:<dependency> <groupI...转载 2019-05-28 11:22:47 · 230 阅读 · 0 评论 -
Maven项目设置JDK版本
解决方法一:(使用所有的项目)打开本地maven安装目录中的settings.xml文件例如:“E:\javatool\apache-maven-3.5.4\conf\settings.xml”在文件中的profiles标签中(这里很重要)加入如下代码,我这里是JDK1.8,如果你是其他的版本,就需要修改成其他的版本jdk<profile> <id>...原创 2019-04-03 10:31:31 · 1334 阅读 · 0 评论 -
MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建
这次换了台电脑,所以需要重新配置一次项目开发环境,过程中的种种,记录下来,便于以后再次安装,同时给大家一个参考。1.JDK的安装首先下载JDK,这个从sun公司官网可以下载,根据自己的系统选择64位还是32位,安装过程就是next一路到底。安装完成之后当然要配置环境变量了。—————————————————————————————————————————————————...转载 2019-04-03 00:58:11 · 140 阅读 · 0 评论 -
JAVA将ResultSet结果集遍历到List中
今天在使用jstl标签展示查询结果时遇到一个小问题,即如何将ResultSet对象传递给前台页面。在默认情况中我们在使用数据库查询时Class.forName(dom.getDriver()); //加载MYSQL JDBC驱动程序 String url=dom.getUrl()+"/"+datebaseName+"?characterEncoding=UTF-8";Connecti...转载 2019-04-02 10:37:41 · 3360 阅读 · 0 评论 -
java类中serialversionuid 作用
serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常,即是InvalidCastEx...转载 2019-02-12 13:59:31 · 132 阅读 · 0 评论 -
区别 chown和chmod的用法
chown就是修改 第一列内容的 ,chmod是修改 第3,4列内容的。chown用法用来更改某个目录或文件的用户名和用户组的chown 用户名:组名 文件路径(可以是就对路径也可以是相对路径)例1:chown root:root /tmp/tmp1就是把tmp下的tmp1的用户名和用户组改成root和root(只修改了tmp1的属组).例2:chown -R root:root /...转载 2019-02-01 15:01:59 · 133 阅读 · 0 评论 -
TortoiseGit保存用户名及密码
保存密码方式如下,需要setting中填写自己的名字,Email地址,并在.gitconfig中 [credential] 中设置helper = store转载 2018-12-04 07:32:28 · 923 阅读 · 0 评论 -
第四章 Controller接口控制器详解(5)——跟着开涛学SpringMVC
4.15、MultiActionController之前学过的控制器如AbstractCommandController、SimpleFormController等一般对应一个功能处理方法(如新增),如果我要实现比如最简单的用户增删改查(CRUD Create-Read-Update-Delete),那该怎么办呢? 4.15.1 解决方案1、每一个功能对应一个控制器转载 2017-09-28 09:53:40 · 251 阅读 · 0 评论 -
第四章 Controller接口控制器详解(4)——跟着开涛学SpringMVC
4.12、ParameterizableViewController参数化视图控制器,不进行功能处理(即静态视图),根据参数的逻辑视图名直接选择需要展示的视图。Java代码 class="org.springframework.web.servlet.mvc.ParameterizableViewController">转载 2017-09-28 09:53:00 · 218 阅读 · 0 评论 -
第四章 Controller接口控制器详解(3)——跟着开涛学SpringMVC
4.11、AbstractWizardFormController向导控制器类提供了多步骤(向导)表单的支持(如完善个人资料时分步骤填写基本信息、工作信息、学校信息等)假设现在做一个完善个人信息的功能,分三个页面展示:1、页面1完善基本信息;2、页面2完善学校信息;3、页面3完善工作信息。这里我们要注意的是当用户跳转到页面2时页面1的信息是需要保存起转载 2017-09-28 09:52:15 · 213 阅读 · 0 评论 -
第四章 Controller接口控制器详解(2)——跟着开涛学SpringMVC
4.5、ServletForwardingController将接收到的请求转发到一个命名的servlet,具体示例如下: java代码:查看复制到剪贴板打印package cn.javass.chapter4.web.servlet; public class ForwardingServlet extends HttpServlet转载 2017-09-28 09:51:13 · 181 阅读 · 0 评论 -
第四章 Controller接口控制器详解(1)——跟着开涛学SpringMVC
4.1、Controller简介Controller控制器,是MVC中的部分C,为什么是部分呢?因为此处的控制器主要负责功能处理部分:1、收集、验证请求参数并绑定到命令对象;2、将命令对象交给业务对象,由业务对象处理并返回模型数据;3、返回ModelAndView(Model部分是业务对象返回的模型数据,视图部分为逻辑视图名)。 还记得Dispatc转载 2017-09-28 09:49:38 · 282 阅读 · 0 评论 -
第二章 Spring MVC入门 —— 跟开涛学SpringMVC
2.1、Spring Web MVC是什么Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。 另外还有一种基于组件的、事件驱动的W转载 2017-09-28 09:47:23 · 213 阅读 · 0 评论 -
第一章 Web MVC简介 —— 跟开涛学SpringMVC
Web MVC简介1.1、Web开发中的请求-响应模型: 在Web世界里,具体步骤如下:1、 Web浏览器(如IE)发起请求,如访问http://sishuok.com2、 Web服务器(如Tomcat)接收请求,处理请求(比如用户新增,则将把用户保存一下),最后产生响应(一般为html)。3、web服务器处理完成后,返回内容给web客户端(一般转载 2017-09-28 09:45:53 · 177 阅读 · 0 评论 -
通过Spring Mail Api发送邮件
转自:http://blog.csdn.net/smcwwh/article/details/7095027spring Mail API都在org.springframework.mail及其子包org.springframework.mail.javamail中封装,且只提供了邮件发送的封装。SimpleMailMessage: 对邮件的一个简单封装,只能用于表示一个纯文本的邮转载 2017-07-10 11:42:37 · 366 阅读 · 0 评论 -
Linux上的安装与配置Tomcat
以下使用的Linux版本为: Redhat Enterprise Linux 7.0 x86_64,Tomcat版本为tomcat-7.0.54.1.下载JDK与Tomcat. jdk下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html转载 2016-07-23 18:16:20 · 270 阅读 · 0 评论 -
第四章 Controller接口控制器详解(6)——跟着开涛学SpringMVC
4.16、数据类型转换和数据验证流程:1、首先创建数据绑定器,在此此会创建ServletRequestDataBinder类的对象,并设置messageCodesResolver(错误码解析器);2、提供第一个扩展点,初始化数据绑定器,在此处我们可以覆盖该方法注册自定义的PropertyEditor(请求参数——>命令对象属性的转换);3、进行数据绑定,即请转载 2017-09-28 09:54:23 · 238 阅读 · 0 评论 -
第四章 Controller接口控制器详解(7)——跟着开涛学SpringMVC
4.16.2、数据验证1、数据绑定失败:比如需要数字却输入了字母;2、数据不合法:可以认为是业务错误,通过自定义验证器验证,如用户名长度必须在5-20之间,我们却输入了100个字符等;3、错误对象:当我们数据绑定失败或验证失败后,错误信息存放的对象,我们叫错误对象,在Spring Web MVC中Errors是具体的代表者;线程不安全对象;4、错误消息:是硬编码,还转载 2017-09-28 09:55:41 · 342 阅读 · 0 评论 -
Spring设置定时任务时,关于执行时间的规则设置
Spring设置一个定时任务,可能有如下配置:<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><!-- 运行定时任务转载 2018-11-09 17:03:45 · 1157 阅读 · 0 评论 -
利用StringEscapeUtils对字符串进行各种转义与反转义
apache工具包common-lang中有一个很有用的处理字符串的工具类,其中之一就是StringEscapeUtils,这个工具类是在2.3版本以上加上的去的,利用它能很方便的进行html,xml,java等的转义与反转义,而且还能对关键字符串进行处理预防SQL注入,不过好像common-lang3.0以后我看着好像没这个处理SQL语句的方法了,想用的话前提时引入对应的jar包,以下为它的部分...转载 2018-08-28 18:05:10 · 600 阅读 · 0 评论 -
客户端的IP地址伪造、CDN、反向代理、获取的那些事儿
原创:http://www.cnblogs.com/zhengyun_ustc/archive/2012/09/19/getremoteaddr.html外界流传的JAVA/PHP服务器端获取客户端IP都是这么取的:伪代码:1)ip = request.getHeader("X-FORWARDED-FOR") 可伪造,参考附录A2)如果该值为空或数组长度为0或等于"unk...转载 2018-08-20 14:19:33 · 743 阅读 · 0 评论 -
第六章 注解式控制器详解——跟着开涛学Spring-(SpringMVC强大的数据绑定(2))
6.6.2、@RequestParam绑定单个请求参数值@RequestParam用于将请求参数区数据映射到功能处理方法的参数上。public String requestparam1(@RequestParam String username)请求中包含username参数(如/requestparam1?username=zhang),则自动传入。 此处要特转载 2017-09-29 10:06:07 · 241 阅读 · 0 评论