Java
文章平均质量分 87
timlis
写Bug的鱼
展开
-
Java爬虫入门-基于jsoup采集京东商品数据简单实现
近来,云计算结课要求是要做一个基于Hadoop组件的电商网站数据分析项目;数据分析,数据分析,要先有数据才能分析~数据哪来呢,当然是爬虫。其中爬虫最热门的语言肯定都是想到Python。但是Java作为我的本命语言,我就尝试了一下Java的爬虫实现,其实,现在Java也有很多框架包对爬虫的支持非常方便。下面,作为爬虫的入门,我用Jsoup来实现一下京东商品数据的采集。首先,和任何项目前提一样,新建一个项目,配置好依赖。<dependency> <groupId&原创 2020-05-23 22:22:58 · 1366 阅读 · 2 评论 -
基于SSM框架Controller层的数据校验功能实现
最近在练习一个SSM的小项目,在用户注册模块需要用到表单数据校验的功能。为什么要在后端实现数据校验在传统做法中,数据校验可以在前端直接用js来实现,但是这样只用前端实现,用户可以绕过浏览器,直接使用一些http工具向后端提交不合法的数据,所以为了安全,一般也会在后端的controller层SpringMVC实现数据校验的功能。实现步骤如下:1、导包:如果是maven工程可以直接导入依赖,因为我这个是纯SSM的练习项目,所以是导入lib包。数据校验需要依赖这3个jar包。hibernate-val原创 2020-05-08 21:54:13 · 1167 阅读 · 0 评论 -
设计模式之代理模式
什么是代理模式在我们开发业务代码的过程中,经常会遇到甲方粑粑提出的新需求~要在已经写好的业务模块中要添加一些功能,比如:增加日志记录、或者一些事务的支持等等。这时候,你肯定不会为了增加一点功能而想去动那个已经写好测试好的模块–毕竟有可能改着改着bug变多(狗头)。作为一个优秀的程序员肯定不会认同上面的理由,那找个正当的理由:如果有多个模块需要用到这个功能,如果每一个模块都改,那重复代码岂不是...原创 2020-04-29 00:07:01 · 169 阅读 · 0 评论 -
类的加载过程
类的生命周期是从被加载到虚拟机内存中开始,到卸载出内存结束。过程共有七个阶段,其中到初始化之前的都是属于类加载的部分:==加载----验证----准备----解析-----初始化----使用-----卸载==,其中,验证、准备、解析这三个阶段也叫==连接==过程。1、加载阶段1)通过一个类的全限定名来获取定义此类的二进制字节流。2)将这个字节流所代表的静态存储结构转化为方法区的运行时数据...原创 2020-03-04 22:44:48 · 84 阅读 · 0 评论 -
设计模式之装饰模式
在开发的过程中,随着业务需求的增多,可能会遇到这类问题:有一些之前开发的类需要增加新的功能。首先想到的做法是:直接去修改这个类,往这个类去添加新的功能。这样做的后果是可能会牵扯到整个项目。做法二:在创建一个新的类去继承这个类,然后往子类去添加功能实现。这种做法的局限是每次添加新功能都要写一个子类?很显然,前面两种做法都不太符合实际开发。所以,就有了装饰模式装饰模式(Decorator P...原创 2020-02-25 20:23:18 · 85 阅读 · 0 评论 -
聊一聊Java中的String类
String类在Java中扮演一个非常重要的角色,几乎在每一段Java程序中都能看到它的身影,这里,简单聊一聊我对String的常见几个问题的理解。1、到底创建了几个对象?在各种笔试题库中,经常会看到这样的一段代码String str = new String("bcd");String str1 = "bcd";问:以上代码至少创建了几个对象?要知道创建了几个对象,首先要先熟悉St...原创 2020-02-12 22:22:12 · 123 阅读 · 0 评论 -
Java8新特性之lambda表达式
lambda表达式是JDK8的比较有鲜明特点的一个新特性,但是对于一些初学者来说,有的理解起来比较绕。下面我写一下我自己的理解。lambda表达式是干什么用的? 谈lanmbda表达式之前还要必须说的一个东西是匿名内部类。什么是匿名?看下面这段代码区分匿名和非匿名的区别。 Demo01 demo01 = new Demo01(); //这是一个普通的类实例化 ...原创 2020-02-12 08:59:44 · 200 阅读 · 0 评论