
Java
shangmingchao
这个作者很懒,什么都没留下…
展开
-
Java中的printf格式化输出
Java的格式化输出等同于String.Format,与C有很大的相似,比如 System.out.printf("%8.2f", x); 在printf中,可以使用多个参数,例如: System.out.printf("Hello, %s. Next year, you'll be %d", name, age); 用于printf的转换符如下表: 转换符 类型原创 2014-05-08 11:32:54 · 1637 阅读 · 0 评论 -
JPA注解之主键生成器策略
JPA主键生成器策略:①GenerationType.IDENTITY:由数据库的自增列提供主键值。只有插入记录后逐渐才会生成(像MySql中的auto_increment)。MySQL, SQL Server, DB2, Derby, Sybase, PostgreSQL。②GenerationType.SEQUENCE:由数据库的Sequence对象提供主键值。Oracle、P原创 2015-07-21 14:39:21 · 1395 阅读 · 0 评论 -
设计模式笔记(七)--模板方法模式
模板方法模式(Template Method Pattern)在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。简单点说,超类的模板方法中定义了一个算法的步骤,并允许子类为一个或多个步骤提供实现。这样模板方法就控制并保护了算法,算法中的步骤可以由超类实现,也可以由各个子类根据自己的需要实现(声明为abstract)。原创 2015-08-25 17:23:37 · 641 阅读 · 0 评论 -
设计模式笔记(十)--小结
设计模式根据目的的不同可以分为创建型模式、结构型模式和行为型模式。创建型模式(Creational Pattern):为了灵活而高效地创建对象。包含:工厂方法模式(Factory Method Pattern)、抽象工厂模式(Abstract Factory Pattern)、创建者模式/建造者模式(Builder Pattern)、原型模式(Prototype Pattern)、单例模式(Singleton Pattern)。结构型模式(Structural Pattern):为了完美处理对象的原创 2015-08-29 22:35:54 · 867 阅读 · 0 评论 -
设计模式笔记(五)--命令模式
命令模式(Command Pattern)将请求封装成对象,以便使用不同的请求、队列或者日志 来参数化其他对象。命令模式也支持可撤销的操作。命令模式的目的就是让发出请求的对象和执行请求的对象解耦。原创 2015-08-21 16:48:57 · 561 阅读 · 0 评论 -
设计模式笔记(十一)--建造者模式、原型模式、单例模式
建造者模式(Builder Pattern)封装一个产品的构造过程,并允许按步骤构造。还有一个通俗的定义是:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。简单点说,就是客户类想要创建结构或者逻辑特别复杂的产品对象时,让建造者帮忙构建产品,建造者负责产品各个部件的构建以及最终产品的组装。原创 2015-09-28 09:42:16 · 1233 阅读 · 0 评论 -
Mysql服务器搭建
最近有个项目,需要搭建服务器,用android客户端来访问。不过自己对服务器来说是完全不懂,可以说是个十足的小白,什么tomcat,什么J2EE,什么servlet,SSH,完全不懂啊,不要紧,我有我的大招:”学“。买了本《Tomcat与Java Web开发技术详解》,看了几天,感觉懂点了,开始上网查web服务器搭建与开发示例,感觉都太乱了,有些还很不靠谱,再加上最近课比较多,纠结了一两个周也原创 2014-03-29 22:55:56 · 5664 阅读 · 6 评论 -
重学Java系列(一) -- static、final
static 修饰 类:static修饰类时,是指修饰内部类,也就是所说的静态内部类,普通外部类是不允许用static修饰的。非静态内部类可以直接访问外部类的成员变量和成员方法,即使是private的。实例化非静态内部类时要先实例化一个外部类对象outerObject,通过这个外部类的对象来实例化:NonStaticInner nonStaticInnerObject = outerObject.new NonStaticInner();非静态内部类将持有外部类对象的隐式引用,如果你用不到这个引用,那这个原创 2016-01-24 17:22:16 · 1291 阅读 · 0 评论 -
Java中对List进行排序
java.util包中的List接口继承了Collection接口,用来存放对象集合,所以对这些对象进行排序的时候,要么让对象类自己实现同类对象的比较,要么借助比较器进行比较排序。 学生实体类,包含姓名和年龄属性,比较时先按姓名升序排序,姓名相同时按年龄升序排序。 第一种:对象类自己实现比较(实现comparable接口)public class S原创 2015-07-30 11:07:10 · 1528 阅读 · 0 评论 -
设计模式笔记(八)--迭代器模式、组合模式
迭代器模式(Iterator Pattern)提供一个方法顺序访问一个聚合对象中的元素,而不暴露其内部的表示。组合模式(Composite Pattern)允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。原创 2015-08-26 15:01:31 · 818 阅读 · 0 评论 -
设计模式笔记(四)--工厂方法模式、抽象工厂模式
工厂模式(Factory Pattern) (1)简单工厂(Simple Factory)也许都注意到了,这里没有使用Pattern模式的字眼,因为简单工厂更像是一种编程习惯,而不是严格意义上的设计模式。先说一下客户类怎么使用:直接Pizza pizza = PizzaFactory.createPizza("cheese");就可以获得CheesePizza类型的披萨了。原创 2015-08-20 17:55:12 · 749 阅读 · 0 评论 -
设计模式笔记(六)--适配器模式、外观模式
适配器模式(Adapter Pattern)将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。简单点说,就是利用适配器将不符合自己期望的接口转成自己想要的接口。对象适配器:原创 2015-08-25 16:16:21 · 704 阅读 · 0 评论 -
FileItem.getName()乱码
如果不做任何处理ServletFileUpload upload = new ServletFileUpload(factory);upload.setHeaderEncoding("UTF-8");//关键原创 2014-09-27 12:57:07 · 5483 阅读 · 6 评论 -
Java多线程中的wait和notifyAll
想要直接看代码的可以跳过下面我对并发的简单理解,直接看代码(我已经加了注释,代码写的有问题还请诸位大神指出,以免误人子弟)。 最近要用到Java多线程,才好好的看了一下多线程。谁知道这货写起来这么麻烦,还要考虑各种锁,还要考虑各种共享,各种交互。我就奇怪了,Java设计者怎么就不给程序员提供方便的同步机制,每次都要锁锁锁的,万一控制不好还死锁,妹的,简直不能忍。不过话说回来,Ja原创 2015-04-05 11:09:43 · 729 阅读 · 0 评论 -
设计模式笔记(二)--策略模式、观察者模式
(1)策略模式(Strategy Pattern)定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用它的客户。简单点说,一个客户类/对象有很多功能策略,这些策略因为对象的不同有不同的算法实现,这时我们可以将策略抽象出来,用不同的策略实现类来实现,而客户类只持有策略接口,所以很方便传给客户类不同的策略实现。也许你会说,定义一个抽象类,不同的子类来实现你说的不同算法不就行了,但仔细想想,这些不同子类的某些算法实现是一样的,如果需求说要改变,那么所有的相关子类都要改,而且某些子原创 2015-08-17 15:46:12 · 839 阅读 · 0 评论 -
设计模式笔记(九)--状态模式、代理模式
状态模式(State Pattern)允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。简单点说,一个对象持有一个状态对象来表示自己现在的状态,当有行为(动作请求)时,该对象会委托给当前状态对象处理,因当前状态对象的不同会表现出不同的行为。所以它利用对象组合来引用不同的状态对象,在客户看来就像修改了对象一样。代理模式(Proxy Pattern)为另一个对象提供一个替身或占位符以控制对这个对象的访问。原创 2015-08-27 10:32:24 · 821 阅读 · 0 评论 -
设计模式笔记(一)--设计原则
类/对象之间的关系:Generalization(泛化),Dependency(依赖),Association(关联),Aggregation(聚合),Composition(组合/合成)泛化,表示类之间是is-a关系,如类A继承了B类或实现了B接口,子类会继承父类的属性和方法。依赖,表示类之间是use-a关系,如该类A的方法中的参数是某个类B,类A和类B就是依赖关系(类B以局部变量、静态原创 2015-08-13 10:49:05 · 578 阅读 · 0 评论 -
设计模式笔记(三)--装饰者模式
装饰者模式(Decorator Pattern)动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。简单点说,装饰者可以装饰(也就是在原来功能的基础上再扩展其功能)被装饰者。一个被装饰者可以被多个装饰者装饰,或者被相同的装饰者装饰多次,是不是很灵活啊。而这就要求装饰者和被装饰者要有相同的父类型。原创 2015-08-18 09:35:15 · 633 阅读 · 0 评论 -
Collections.sort()崩溃分析
对List排序一般采用两种方法:(1)实体类实现`Comparable<T>`接口,完成`compareTo(T o)`方法。(2)创建一个`Comparator<T>`的实现类,完成`compare(T o1, T o2)`方法,然后利用这个比较器对List进行排序。原创 2016-05-19 11:21:44 · 8802 阅读 · 0 评论