学习笔记
文章平均质量分 50
wangpengfei666
这个作者很懒,什么都没留下…
展开
-
java中的反射机制
引言:java中的反射机制是一个很强大的东西,可以说所有的开源框架都是建立在这个基础上的。没有反射,就没有那三大开源框架。首先我们看看反射主要解决什么问题,当有一个类,你不知道他是什么类,或者说此类的构造方法进行了私有化操作,您无法创建类的对象,你又想让这个类去执行一些类中的方法,这好像没有办法去操作了。不着急,看看我们反射的威力。java的API中有一个类叫做Class,类中有一个方法叫做ne原创 2017-05-10 18:05:10 · 206 阅读 · 0 评论 -
解决线程同步的三种方法:
**- 引言 当多个线程同时对同一个对象的实例变量进行操作时,会引起线程的同步问题。此时会引起线程不安全,**总结起来是三点因素: 1.多线程 2.同一对象 3.属性(实例变量) 怎么解决这种问题?** 1.方法加锁(使用Synchronized关键字)public synchronized void getMoney(String name,int money) { i原创 2017-04-20 14:45:35 · 571 阅读 · 0 评论 -
细述文件的上传和下载
引言:文件的上传和下载是我们在web开发时候经常要用到的一个模块,今天就这个模块进行一下详细的说明。文件上传 文件上传分为两个部分,一部分是servlet3.0以前的文件上传方式,主要借助commons-fileupload组件。代码如下:@WebServlet("/upload")public class UploadServlet extends HttpServlet{ priva原创 2017-07-01 15:51:07 · 324 阅读 · 0 评论 -
详解java动态代理模式
引言:java框架中很多设计都是基于动态代理模式的,所谓动态代理模式,就是动态的产生目标对象的代理类,并规定一个方法,可以执行目标对象的方法,也可以在目标对象方法的基础上添加其他必要的方法。这里,详细介绍一下java中实现动态代理模式的两种方式在java中,动态代理模式的实现有两种方式:一种是基于JDK的方式 基于JDK内置的实现方式要求目标对象(被代理对象)必须有接口,因为其是根据目标对象的接原创 2017-07-12 13:07:33 · 544 阅读 · 0 评论 -
两种解决表单重复提交的方式PRG和Token
引言:在系统开发过程中,如何避免表单重复提交一直是一个令人头疼的问题,好在前辈们都已经开发了数种解决方式,这次博主将会介绍两种解决表单重复提交的问题。我们知道,在JSP&Servlet中有两种跳转方式,一种是重定向跳转,特点是:重定向跳转使用URL重写(?+键值对)的方式进行值的传递,值显示在浏览器的地址栏中重定向传值方式适合不敏感数据及简单的字符串、数字等基本类型重定向跳转后浏览器的地址栏原创 2017-06-02 10:24:59 · 4353 阅读 · 0 评论 -
学习shiro框架
前言:shiro是权限控制常用框架,安全,易上手,是项目中常用权限控制框架,最近学习了一下,做了如下总结Shrio单词Incorrect 错误的 Credentials 证书,凭证 Principal 主要的,当事人 security 安全 Authenticator 认证者 Authentication 证明 Strategy 战略、策略 permission 允许、许可 role原创 2017-08-12 11:06:33 · 282 阅读 · 0 评论 -
秋招总结
从9月中旬开始找工作,到10月底基本敲定,差不多一个多月的时间,这期间确实能让人较快成长,笔试了30+,面试应该有15+,简历就不计其数了,线上加线下我自己也记不清楚到底投了多少份简历,最终收获了几个offer,最后一个最为满意,离家也近,薪资也还可以,就不想着再去北上广杭深了,研究生毕业,父母不小了,自己也老大不小了,先在老家这边安定一下,以后再说以后的事情。下边就是总结一下我的秋招记录吧,希望能原创 2017-10-27 00:22:16 · 1314 阅读 · 1 评论 -
Dubbo总结
Dubbo总结什么是DubboDubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC(Remote Procedure Call)远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求,并且本质上是个服务调用的东东,说白了就是个远程服务调用的分布式框架为什么要有Dub原创 2017-10-26 22:32:41 · 380 阅读 · 0 评论 -
学习编码规范
编码规范编程规约学习命名风格参考阿里巴巴Java开发手册oop规约外部正在调用或者二方库依赖的接口,不允许修改方法签名,避免对接口调用方法产生影解释:主要是说给SDK开发的,或者说是对中间件的人说的,二次封装的方法要给别人进行调用,那么随意修改方法的签名就会影响调用者的使用。 2. 循环体内,字符串的连接方式,强制使用StringBulider的append方法进行扩展。理解: 之前理解的是如原创 2018-03-21 12:18:30 · 574 阅读 · 0 评论 -
递归算法遍历文件夹中所有文件&&递归删除文件夹
- 引言:怎样才能遍历出一个文件夹中的所有文件呢,我们知道,java中的File类中有这样的方法,list() ,可以返回一个字符串数组,这些字符串指定此抽象路径名表示的目录中的文件和目录。我们是否可以用这个方法返回一个字符串数组,然后进行遍历输出不就可以了。就像这样: File file = new File("G:/kaishengit/"); String []na...原创 2017-04-17 20:58:14 · 4890 阅读 · 0 评论 -
例子中看正则表达式的重要性
第一题:校验给定的字符串是否为纯数字 如果我们用String中的其他各种方法去写,不管有多么优化的写法,大概结果就是这样的。/** * 校验是否为纯数字 * @param str * @return如果为纯数字,返回true */ public static boolean isNumber(String str) { if(!isEm原创 2017-04-11 14:42:37 · 705 阅读 · 0 评论 -
三道java初学者习题
1.任写一个五个元素以上的数组,获取数组的最大值 在学习数组的时候,看到的一个习题,当时Lz想的比较简单,就是用if else语句一个一个去比较好咯,于是就出现了如下的代码: public class Excise { public static void main(String[] args) { //任写一个数组,获取数组的最大值 int max原创 2017-03-23 20:42:47 · 544 阅读 · 0 评论 -
java中的关键字和保留字
Java 关键字(不能用这些命名文件)列表(依字母排序 共50组): abstract, assert,boolean, break, byte, case, catch, char, class, continue, default, do, double, else, enum,extends, final, finally, float, for, if, implements, impor原创 2017-03-20 17:18:22 · 726 阅读 · 0 评论 -
两种“两数互换的方式”
语言初学者不免会遇到一个这样的联系: 输入一个a,和b,并赋值,最后将两个数字互换进行输出。 第一种编写方法: public class Hello {public static void main(String[] args) { int c; java.util.Scanner input = new java.util.Scanner(System.in); Syst原创 2017-03-21 16:50:06 · 587 阅读 · 0 评论 -
三元表达式的巧妙运用
程序设计中,往往有一些巧妙的程序语言,能够使得程序看起来简练干净: eg:比较两数的大小,并将大的数进行输出 一般我们会选择if语句进行判断并比较比如下面这样: if(a>b){ result=a; } else{ result=b; } System.out.println(result);如果我们用三元表达式,就成了这样原创 2017-03-22 09:51:55 · 1475 阅读 · 0 评论 -
多态中的抽象类和接口
引言我们知道java面向对象的三大特征,有封装、继承和多态,个人觉得封装和继承相对好理解一些,看到多态部分,感觉有点稍微晕晕的。今天又把Head first java这本书的相关内容读了一下,结合练习的小例子,简单谈一下我对抽象类和接口的理解。多态(父类引用指向子类对象):抽象类:1.抽象类使用abstract关键字声明,加在类的前面2.抽象类不能被实例化(不能通过原创 2017-04-07 16:01:51 · 334 阅读 · 0 评论 -
时间换算
时间换算(5分) 题目内容: UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8。现在,你的程序要读入一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分。 有效的输入范围原创 2017-03-22 15:35:47 · 858 阅读 · 0 评论 -
java设计模式之---单例模式
引言 今天学习了java设计模式中的第一种设计模式,单例模式,并学习了两种简单的单例模式的写法,现总结于此。 单例模式:1.设计模式的一种,是为了限制类的对象只有一份。2.单例模式的实现: 1.将构造方法私有化,使得别的类中不能通过new关键字进行对象的重新创建。 2.设置一个静态变量,并将其私有化,别的类不能轻易更改。 3.提供一个公有的静态方法,以获得当前类实例对象。 单原创 2017-04-08 14:26:58 · 238 阅读 · 0 评论 -
java中常量池实例解析
常量池概念 个人将常量池认为是java中class文件中存在的静态常量,也可以简单的理解为一个缓存数字池。Integer中的常量池 下面有几个简单的例子 1 Integer in1 = new Integer(123); Integer in2 = new Integer(123); System.out.println(in1 == in2);//原创 2017-04-10 12:24:38 · 465 阅读 · 0 评论 -
两种排序方法:冒泡排序和插入排序
冒泡排序:public class Sort { public static void main(String[] args) { //冒泡排序 int[] abc = {122,324,56,77,33,114,44}; for(int i = 0;i < abc.length-1;i++) { for(int j = 0原创 2017-03-24 12:26:24 · 421 阅读 · 0 评论 -
使用Commons-email实现电子邮件的发送,封装
最近项目中使用到发送邮件通知的功能,针对这个做了一下预研,使用的是apace的Commons-email。发送带附件的邮件import org.apache.commons.mail.EmailAttachment;import org.apache.commons.mail.EmailException;import org.apache.commons.mail.MultiPartEmail原创 2018-04-17 16:19:48 · 592 阅读 · 0 评论