
java
文章平均质量分 66
企鹅20133
这个作者很懒,什么都没留下…
展开
-
原型模式
原型模式(深/浅拷贝)根据一个原始的对象,复制出新的对象 意义:1.一般情况下,性能比new一个对象更高 2.对客户端隐藏具体的创建细节,比如不需要传递构造参数 浅复制: 值类型完全复制, 引用类型只复制引用,被引用的对象还是同一个深复制: 值类型完全复制,引用类型和被引用的对象也复制一份...原创 2018-01-28 17:19:10 · 141 阅读 · 0 评论 -
代码重构的一点收获
今天把以前的扫雷代码重构了一遍,有点收获1.分清代码中结构相同的部分和不同的部分,将结构相同的部分提取出来 之前的代码:if (bomb == nearBombNum[x][y]) // 如果周围雷数和判断一样 { if (x - 1 >= 0 && y + 1 >= 0 && x - 1 <= 19 &...原创 2015-12-19 00:49:41 · 77 阅读 · 0 评论 -
UML入门
1.类 2.顺序图 作用: 更清晰的表现对象间传递消息的顺序 对象: kiosk, box office ,credit card service 3.协作图作用: 同样用来显示消息传递的顺序,但是更侧重于显示各对象之间的关系 4.状态图 5. 活动图:对现实世界中的工作流程建模,让流程更清晰 ...原创 2015-11-09 16:53:12 · 70 阅读 · 0 评论 -
接口文档编写
这个星期在编写接口的过程中遇到了很多问题,也应该总结总结了1.文档的编写:对需要调用接口的人来说,最重要有3个部分,接口地址,传入参数,返回结果。调用者不会关心内部实现细节,同时后台操作人员也要能够通过阅读文档,获取需要的信息 所以要把前台需要的3个关键部分放在一起,修改的表以及字段放在最后 2.一个需求,接口返回给前台,只有成功和失败2种结果,那么什么情况是成功,什么情...原创 2015-11-07 15:25:08 · 102 阅读 · 0 评论 -
mybatis中@Param的用法和作用
用注解来简化xml配置的时候,@Param注解的作用是给参数命名,参数命名后就能根据名字得到参数值,正确的将参数传入sql语句中 我们先来看Mapper接口中的@Select方法package Mapper;public interface Mapper {@Select("select s_id id,s_name name,class_id classid...原创 2015-11-03 14:01:44 · 349 阅读 · 0 评论 -
spring注解中的@Autowired和@Component基本作用
1.我们在初次写spring的demo程序的时候,一定会觉得很繁琐,我要用一个类,直接new不就行了么,搞这么麻烦?但是当我们用的稍微多了些的时候,就会发现,当我们需要的对象很多的时候,管理这些对象很复杂,很麻烦!! 所以,spring框架给了我们很好的方法去简化操作,@Autowired和@Component简直就是一对兄弟搭档 2. @Autowired作用:@A...原创 2015-11-01 23:38:41 · 2518 阅读 · 0 评论 -
Mybatis错误和知识总结
1.功能正常,但是读出来的数据是null 原因: Mapper.xml中的select语句写错,或者查错了表 比如我要查的表时student 结果我的sql语句是 select * from teacher where id=#{id}; 2.报错invalid types () or values ()解决方法 ...原创 2015-10-30 15:22:15 · 107 阅读 · 0 评论 -
Spring的一点点理解
1. spring中配置的<bean>到底是什么? 我的理解,xml文件中,每个<bean>对应java中的一个实例对象模型 我们来看一看,如下代码中,同一个Person类,有2种不同的注入内容,其实就是生成2种类型的Person模板,需要哪一种就调用哪一种 <bean id="Person" class="构造器注入方式.Person"...原创 2015-10-28 23:49:08 · 90 阅读 · 0 评论 -
String类以及相关类的分析
1.为什么string要设计成不可变对象原因:安全,效率,字符串常量池的综合考虑详细地址:http://blog.youkuaiyun.com/renfufei/article/details/16808775 2.string中"+"的实际运行原理是如何的 具体说原理的话,两个字符串相加,相当于执行了如下操作:str1 + str2 执行了下面的过程:StringBuffer...原创 2015-10-26 18:30:36 · 72 阅读 · 0 评论 -
建造者模式
假如你组装一台电脑,电脑是由许多部分组成的(cpu,主板,显卡,声卡,网卡,键盘,鼠标),虽然每个部分有许多选择,我们可以组装成百上千种不同的电脑,但是我们可以将其中的一些共性抽取出来,构成一种固定的模板。 代码举例:public interface Builder { void buildPartA(); void buildPartB(); ...原创 2016-08-22 01:57:11 · 82 阅读 · 0 评论 -
方法链
转载地址:http://www.jb51.net/article/49405.htm 方法链的优点:1.可读性好2.代码简洁3.编码简便 在使用jQuery时候,我们经常会看到或者使用到方法链,例如:$("#p1").css("color","red").slideUp(2000).slideDown(2000);这段代码的意思是选择器选择id为p1的...原创 2016-08-08 09:57:09 · 116 阅读 · 0 评论 -
利用 Java 实现组合式解析器,基于 Java 的界面布局 DSL 的设计与实现(转载)
原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-compose/#icomments https://www.ibm.com/developerworks/cn/java/j-lo-uidsl/ Demo程序在附件中 归纳:1.要提供一组闭包操作: empty,...原创 2017-04-22 20:58:54 · 163 阅读 · 0 评论 -
runnable JAR 调用第三方DLL文件的方法
网上有多种方法,都比较复杂,这种方法实现最简单,移植比较麻烦1.将第三方DLL文件放到 C:\Windows\System32 目录下 2.在Java程序中添加代码: System.load("C:/Windows/System32/DLL文件名"); 例如: System.load("C:/Windows/System32/msc6...原创 2017-04-27 20:04:20 · 79 阅读 · 0 评论 -
Spring boot 发送邮件
1.登录下方网址,下载Demo工程(chapter 4-5-1),导入maven project到eclipsehttps://gitee.com/didispace/SpringBoot-Learning 2.配置application.properties文件 3.登录qq邮箱,获取授权码 设置--》账户--》生成授权码 4.更改工程中的代码,设置成你自...原创 2018-01-16 10:53:43 · 165 阅读 · 0 评论 -
Spring boot 1.5.9 爬坑总结
1.参考教程: http://412887952-qq-com.iteye.com/category/356333?page=8 8. 使用JPA保存数据【从零开始学Spring Boot】注意问题: :问题1:需要安装一个mysql 问题2:mysql5.7以上版本,必须配置sslspring.datasource.url = jdbc:mysql:...原创 2018-01-14 12:07:08 · 151 阅读 · 0 评论 -
栈封闭
栈封闭(局部变量)栈限制是线程封闭的一种特例,只能通过局部变量才可以访问对象,局部使对象限制在执行线程中,存在于执行线程栈,其他线程无法访问这个栈,从而确保线程安全。(每一个线程都有一个工作内存,工作内存中班包括有栈,局部的基本类型变量是处于栈中,引用类型的引用处于栈中,而引用指向的对象处于堆中)。 栈限制的例子如下: 要理解栈封闭,需要先了解多线程之间有哪些共享的数据,有哪些不共...原创 2017-11-26 12:05:22 · 164 阅读 · 0 评论 -
has text relocation问题与so共享库
1.什么是so共享库? so共享库就是一个函数库 2.so共享库没有main函数 写一个so的代码如下,编译后就变成.so文件了 int max(int a,int b){ if(a>b) return a; else return b;}int add(int a,int b){...原创 2017-11-17 15:32:09 · 185 阅读 · 0 评论 -
委托模式
1.任务: 给鸭子增加一个飞行的功能方式一: 接口Duck中声明fly(),然后在子类中具体实现弊端: 每当新增一种方法,都会影响现有的鸭子类, 方法二: 将变化的,非共性的功能抽取出来,用接口来实现,需要哪个功能就实现哪个接口弊端:代码无法复用,每个集成Flyable的类都要重写一遍fly()方法 方法三: 用委托的办法,创建一个飞行行为接口FlyBehavior,然后...原创 2017-08-16 20:58:25 · 66 阅读 · 0 评论 -
JAXB插件,根据XSD生成bean
1.JAXB插件下载地址:http://download.youkuaiyun.com/detail/gao454917848/8650171 JAXB插件使用方法:(1)解压缩 (2)复制到eclipse目录下的drophin中 (3)重启eclips...原创 2017-06-01 11:21:45 · 214 阅读 · 0 评论 -
SWT中bean与控件的数据绑定
1.选择界面右边的bindings 2.选择文本框的text属性与POJO类的name属性绑定 3.确认添加 4.注意:一定要在方法中创建POJO的具体对象,否则找不到绑定的对象 private DataBindingContext m_bindingContext; POJO pojo = new POJO(); protected Shell ...原创 2017-05-26 19:50:46 · 148 阅读 · 0 评论 -
SWT自定义组件Subclassing not allowed
SWT中的许多组件是不允许被继承的解决方法: step1:在子类中重写checkSubclass()方法 step2:构造方法中调用checkSubclass()方法 示例代码:package My;import org.eclipse.swt.SWT;import org.eclipse.swt.events.FocusAdapter;imp...原创 2017-05-25 11:56:30 · 127 阅读 · 0 评论 -
JSON数据格式
JSON数据有以下形式 对象: 对象之内还能嵌套对象,名称只能用String来表示 形式: {名称/值} 例子: {"数学成绩":95,"语文成绩":89} 数组:值的有序集合 形式: [值],值之间用逗号分隔 例子:[1,4,5] 值:可以是字符串,数值,布尔值,对象,数组 字符串:由双引号包围的任意数量Unicod...原创 2016-08-05 15:59:33 · 64 阅读 · 0 评论 -
request.setCharacterEncoding("xxx")和response.setCharacterEncoding("xxx")
很关键,要知其然才能正确的写出代码 request的setCharacterEncoding("xxx")是用于确保参数信息以汉字编码方式来提取的,也就是说服务器收到了来自浏览器的信息,然后按照设定的编码格式来提取数据. 只有浏览器发送过来的数据和服务器设定的编码提取格式一致,才能正确显示出内容 response用setContentType来告诉...原创 2015-05-12 11:25:57 · 84 阅读 · 0 评论 -
数据结构哈希表(hash)总结
1.什么是hash来源于百度百科:Hash,一般翻译做“散列”,也有直接音译为“哈希”的,就是把任意长度的输入,通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,所以不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。 2.h...原创 2015-04-11 19:53:08 · 97 阅读 · 0 评论 -
jsp自制标签步骤
1.创建一个web项目2.在webroot/web-inf下面创建一个普通文件,文件名扩展名为 tld,例如 mytag.tld3.在tld文件中编写代码,例子如下,<?xml version="1.0" encoding="UTF-8" ?><taglib xmlns="http://java.sun.com/xml/ns/javaee" xm...原创 2015-04-11 19:26:53 · 98 阅读 · 0 评论 -
java反射机制简单实例
1.问题:遍历一个数组,每当匹配到一个参数XXX,都要使用相应的c.setXXX()方法,如果参数一多,人工敲代码肯定很麻烦,你会怎么办?for(String nodename:ThirdNode) { if(c.getNodeName().equals("title")) x.setTitle((c.getTextContent())); if(c...原创 2015-04-08 22:25:51 · 75 阅读 · 0 评论 -
Servlet中的GenericServlet源码分析总结
1.public void init(ServletConfig config) throws ServletException{ this.config = config; this.init(); } public void init() throws ServletException {} //子类可以重新实现该方法 这段代码很精髓,因为有...原创 2015-03-24 11:47:07 · 99 阅读 · 0 评论 -
按键不冲突
在编写雷霆战机游戏的时候,发现按键会相互冲突,左右移动会有卡顿现象,后来参考了大量网页,想到一个解决思路,经测试可以运行.1.给按键keyPressed 和keyRelease都设置一个标志位2.按下按键将标志位设置为true3.松开按键将标志位设置为false4.在线程中执行具体移动事件 具体演示源代码如下package s0218按键不冲突;import...2015-02-18 01:38:14 · 110 阅读 · 0 评论 -
java String类replace方法源码分析
public String replace(char oldChar, char newChar) { if (oldChar != newChar) { int len = value.length;//value就是一个数组,这里得到string字符串的长度 int i = -1; ...原创 2015-02-11 02:19:02 · 330 阅读 · 0 评论 -
filter验证登录
1.编程思想 通过filter拦截除了主页之外的所有url地址栏的请求 然后在拦截中执行判断,通过request.getSession("user")得到用户名,如果没有用户,说明没有登陆,那么通过重定向resonse.sendDirect("xxx")返回主页,如果得到了用户名,那么执行chain.doFilter()方法 2.实现步骤: 1.创建一个类,继...原创 2015-05-12 18:45:53 · 78 阅读 · 0 评论 -
java读取src文件目录下的propertie配置文件
网上找了些资料,碰到一些坑坑1.一般的做法都是InputStream in = getClass().getResourceAsStream("资源Name"); 这里的getClass省略了this,但是this不能用在static代码块中,因为static是类的属性,而this是指向一个具体的对象 坑2: Object.class.getClassLoade...原创 2015-09-08 12:57:14 · 128 阅读 · 0 评论 -
Spring 注入方法
1.Spring 有3中注入的方式. 1.1、构造器注入;1.2、setter注入(最好);1.3、注解方式注入注入:就是给类的属性赋值 2.setter注入:先配置xml文件,spring框架启动后读取xml文件,通过bean的setter()方法完成属性赋值例子 ;java bean:public User(String name,Intege...原创 2015-08-30 14:43:05 · 102 阅读 · 0 评论 -
spring配置文件中的scope详解以及代码
1bean有5种预定义作用域:1.1singleton:请求都只会返回唯一的bean,传统的模式,要为每一个单独实例编写代码,spring以容器的功能直接提供单实例,很方便 应用:应为spring有面向切向的特点,所以DAO这些类都可以做成单实例模式 spring因为localThread和面向切向,使得非线程安全的类可以变成线程安全的类,因此默认作用...原创 2015-08-25 18:37:34 · 177 阅读 · 0 评论 -
Sping入门
极客学院的视频超好. 1.spring框架的作用:降低企业应用开发复杂性传统开发模式: spring的开发模式: 2.spring降低程序复杂性的方法:降低类之间的耦合性ioc容器就像一个中介一样,ioc统一创建类的实例化对象,需要用到的时候,直接向ioc调用即可. 3.spring是一个轻量级控制反转(ioc)和面向切面(aop)的容器框架4.io...原创 2015-08-25 17:41:21 · 100 阅读 · 0 评论 -
数据库事务
1.事务:一组操作,要么都执行,要么都不执行, 事务的目的:保障数据的一致性 例子:银行转账,一个账号扣钱,一个账号加钱,这2个账号的加钱和扣钱操作,要么都执行,要么都不执行,任何一个操作单独 2.事务的3种操作 2.1 begin 表示开始一项事务,接下来的操作都属于同一个事务 2.2 commit 提交事务 2.3 rollback 多个...原创 2015-08-24 17:25:22 · 78 阅读 · 0 评论 -
spring的ioc和aop概念理解知识点
以前看了别的网站的视频,一个jdbc连接讲了1小时还讲不清楚,极客学院9分钟搞定.这里强烈推荐极客学院的java视频,不会扯太多旁支细节,对于初学者而言更容易理解 1.iocioc实现的原理有点像中介,你只需要告诉ioc我需要一个什么样的对象,那么ioc就给你一个什么样的对象,如果给的对象不符合要求,那么就抛异常ioc对于spring来说,就是由spring来负责控制对象...原创 2015-08-24 17:24:51 · 109 阅读 · 0 评论 -
java Swing小集锦
1.关闭窗体弹出确认对话框 1.1 this.setDefaultCloseOperation (JFrame.DO_NOTHING_ON_CLOSE); 1.2 this.addWindowListener ( new WindowAdapter () { public void windowClosing (WindowEvent we) {...原创 2015-07-13 14:53:22 · 80 阅读 · 0 评论 -
最通俗易懂CRC原理以及CRC-12 java源代码
1.做课设的时候看了很多资料,结果很多讲的不清楚,这里转载一篇最好的,最通俗易懂的文章转载地址: http://blog.youkuaiyun.com/lycb_gz/article/details/8201987 5.3.2 循环冗余校验检错方案 奇偶校验码只能校验一位错误,本节所要介绍的循环冗余校验码(CRC)的检错能力更强,可以检出多位错误。 1. CRC校验...原创 2015-07-10 22:00:23 · 622 阅读 · 0 评论 -
Timer定时器与ActionListener联合应用
功能:在控制台每秒输出一次 代码:package Main;import javax.swing.Timer; import java.awt.event.*; public class T { private static int count = 0; public static void main(String[] args){ ...原创 2015-05-26 18:56:09 · 396 阅读 · 0 评论 -
struts框架入门
1.struts的jar包作用 2.步骤 3. 一般网页调用一个类的步骤是 jsp 转发给servlet,servlet中创建类的实例,并调用相应的方法。 4.关键代码分析 struts.xml配置如下,struts.xml的作用就是 让struts的filter拦截,并通过xml文件找到<struts> <package...原创 2015-05-20 13:49:33 · 78 阅读 · 0 评论