自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 装饰模式

每天上班的三次灵魂拷问,午饭吃什么,晚饭吃什么,为什么还不下班一、举个栗子我画了一张很漂亮的画,觉得自己堪比当代狗卡索。越看越喜欢,这个时候,我就想给我的画,加两条花边,这样我会更加喜欢我的画,所以我会这样做:我的好看的画作的抽象类package designpattern;public abstract class Picture { abstract void show();}**重写show()方法,来向朋友展示我的画作package designpattern;pub

2021-03-30 12:57:59 359 3

原创 Comparable 和 Comparator区别小结

什么叫成熟,你妈没喊你,你就穿上秋裤了。什么叫青春,你妈一天念叨三回,你还是不穿秋裤— —所以到底秋裤是什么,秋装校服裤吗?一、Comparable小结Comparable是排序接口。若一个类实现了Comparable接口,就意味着该类支持排序。实现了Comparable接口的类的对象的集合或数组,可以通过Collections.sort或Arrays.sort进行自动排序。下面来举个栗子:关于CompareTo()方法,如果返回的是this.age-s.age,则为升序排序;如果返回的是s.ag

2021-04-07 17:16:09 91

原创 数据库事务(二)

买瓜前装模作样拍一拍,是对西瓜最起码的尊重。—吃货语录一、在JDBC中事务的应用如果JDBC连接处于自动提交模式,默认情况下,则每个SQL语句在完成后都会提交到数据库。要启用手动事务支持,需要使用Connection对象的setAutoCommit()方法。如果将boolean false传递给setAutoCommit(),则关闭自动提交。另外,可以传递一个布尔值true来重新打开它。try{ //Connection conn = dataSource.getConnection();

2021-04-04 22:23:23 104

原创 航班信息系统

只要坚持下去,你就发现中奖一定会发生在别人身上。-------QAQ构建一个航班信息系统第一步:JavaBean提供get/set方法,为实验Date的处理方法,并没有在JavaBean中将飞机出行日期改为String类型package bean;import java.util.Date;public class AirInfo { private int id; private String airNo; private String destination;

2021-04-04 18:54:22 507

原创 数据库事务(一)

别总骂我恨铁不成钢,别忘了,铁本来就成不了钢呀,摊手┓( ´∀` )┏数据库事务的定义:由一系列对系统中数据进行访问与更新的操作所组成的一个程序执行逻辑单元一、需要重点掌握的三个方向:ACID特性事务隔离级别事务并发引起的问题1. 事务的语法事务主要包含三个操作:启动:start transaction 或begin提交:commit回滚:rollback(事务在未提交之前都是可以回滚的,但一旦提交了,就不能回滚)备注:如果不在sql语句的CRUD前输入begin开启事务,事务

2021-04-01 16:34:41 127

原创 抽象工厂模式

谁说我不会乐器?我退堂鼓打的可好了上帝为你关上一道防盗门,同时还给你上了一把钛合金锁----------口桀!一、这是一个关于fatdog工厂盈利能力良好从而扩建的故事汪老板进行了业务的转型升级,现在生产童装、女装和男装,三个产品族的产品,产品分为黑色和白色两个产品等级。(一件也没有卖出去过的棕色衣服再见,再也不见啦啦啦啦啦)工厂方法与抽象工厂方法的区别:工厂方法模式只考虑生产同等级的产品,抽象工厂模式将考虑多等级产品的生产1. 一个抽象的衣服接口,有两个方法代表了衣服的产品族和等级packag

2021-03-31 17:32:02 72

原创 工厂模式

女性从来都不用化妆品,而可以保持年轻的秘诀就是,谎报年龄工厂模式定义:定义一个用户创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。**适用说明:**适用于只有一个产品等级,多个产品族的情况;多个产品等级,多个产品族适用抽象工厂方法。一、举个栗子假如现在有一家名为fatdog的工厂,分别会生产三种不同的男装:白色男装,黑色男装和棕色男装(其实真的会有人穿棕色衣服吗?哦,是我自己在代码中假设的,那没事了)。作为fatdog工厂的老板,我想生产什么衣服,就生产什么衣服。是

2021-03-30 17:01:42 84 2

原创 单例模式

就算大雨让整座城市倾倒,上班照样会被算做迟到。确保某一个类只有一个实例,而且自行实例化,并向整个系统提供这个实例现在我们来举个栗子:英雄联盟是很多人都玩过的一个游戏,盖伦(Garen)是英雄联盟中非常有代表性的英雄。英雄联盟的排位模式,规定了在一次游戏中的10个英雄只可以出现1个盖伦。此时,便可以选择用单例模式的方法来创建盖伦。一、线程不安全的懒汉式单例延迟加载的方式,只有使用的时候才会加载。在多个线程的情况下,可能会出现多个线程向Garen类请求静态方法getInstance(),导致生成两个g

2021-03-29 18:53:27 104 2

原创 JSON解析

56个民族,55个加分。。。。OTZ一、 什么是JSON数据定义:一种轻量级的数据交换格式{ "paramz": { "feeds": [ { "id": 299076, "oid": 288340, "category": "article", "data": { "subject": "荔枝新闻3.0:不止是阅读", "summary": "江苏广电旗下资讯类手机应用“荔

2021-03-29 14:16:43 78

原创 找到休息日

三个需要注意的点:三个类以及相关方法的使用:Date,DateFormat,Calendar,特别是Calendar这个类的get,set和getActualMaximum方法,非常常用闰年的计算,从我们出生开始,只要跟日历有关的,就脱离不了闰年的计算注意是否跨年,跨的是否为闰年因为只是个用于练习日期相关类的demo,就没有进行MVC相关类方法的分割,也没有封装方法,就这么一股脑的写过去了。毕竟跟弄一个快递系统相比,这个demo以后真的没什么维护的必要。唯一卡了我很久的难点就是对齐问题,老师真

2021-03-25 14:29:15 91

原创 快递管理系统(四)

今天非常喜欢舍友的一句话,非常的打动我:你看股票最近的情况,你是不是逢人就可以说一句,你今天看起来很绿鸭。优化的逻辑尽管数据已经被优化为IO了,可是如果数据被存在了客户端里,就非常的愚蠢而且不安全,毕竟总有一些手欠的用户会去动你的配置文件。那就弄个服务器吧,将数据存在服务器里,每次用户连接的时候数据将从服务器被传输到客户端,用户断开连接时数据被传回服务器。增加了序列化和反序列化的方法,尽管这个东西号称是不用了,可是在客户端和服务器交互的时候是真的香,而且目前来说没有任何方法能取代序列化的地位。网上其他

2021-03-25 13:50:01 1036 9

原创 快递管理系统(三)

快递管理系统(三)今天不学习,明天变垃圾。U1S1,讲道理吧,其实不用变优化的逻辑前两篇文章,快递的数据都是存在内存里的,一旦断开程序数据就丢失了。总不能一辈子都不断电吧,必须用IO优化掉。为优化成IO,将快递的存储容器再次改变,由HashMap优化为Properties(Properties也是key-value的一种,不需要指定key和value的数据类型,因为都必须是String)。因此作为int类型的取件码code必须被改造为String。作为value的Express类采用了jackson

2021-03-25 11:26:30 776 1

原创 快递管理系统(二)

快递管理系统(二)怕什么真理无穷,进一寸有一寸的欢喜。但如果Java的真理,比无穷的量级还大怎么办,老师没教啊!!!!优化的逻辑去除了二元数组的存储逻辑,以key-value的方法来替代进行存储。为表示快递所在的箱子,在Express中加入了lockerNumber这个Int属性来表示快递所在的箱子号数,至于几行几列都是可以用数学自己算出来的(所以为什么我一开始要用二元数组呢,不知道啊,可能是因为我是文科生?天生仇视数学?)第一步:JavaBean这里依然还没有将取件码改造为String,下一篇文

2021-03-25 10:51:12 759

原创 快递管理系统(一)

快递管理系统(一)接下来是一个快递管理系统从零到无的优化过程。第一步:确定MVC的设计模式可以这么说,MVC就是Java代码编写的一切,设计好MVC其实是一门Java工程师的艺术。Model就是设计好JavaBean。里面包含的属性应该如何设计,是Java可读性和延展性的基础。第二步:编写JavaBean在存储快递时,存储的容器采用了10*10的二元数组来模拟一个10行10列的快递箱(其实这样做未来才发现不太好处理,有更优秀的替代方法)。这里的取件码的数据类型是int(以后的文章会优化为Strin

2021-03-25 10:03:29 4822 1

原创 多线程

多线程多线程的思想主要分为以下三种模式:同步代码块同步方法显式锁同步代码块就是用的{}将所要就行同步的代码括在一起,并使用synchronized占用一个Object。一个多窗口进行卖票的例子如下,使用了同步方法,就能避免多线程中出现脏数据,保障了数据安全性问题public class Test1 { public static void main(String[] args) { Object o = new Object(); Ticket t

2021-03-23 12:46:55 87 2

原创 MVC设计结构

MVC设计结构在Java代码中,为了减少代码的耦合性,以及保证代码更好的进行延展。衍生了一种经典的MVC模式。M是指业务模型(model的简写,指代data),V是指用户界面(view,视图),C则是控制器(controller,对于view和model进行任务调度)。V即View视图,是指用户看到并与之交互的界面。在本地应用程序中可以理解为JPanel;在企业级的开发任务中,可以理解为JSP等可以输入html语言的界面。MVC的好处之一在于它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发

2021-03-04 15:25:15 286 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除