1.功能介绍: 首先,这个小案例没有使用数据库,用集合的形式暂时保存数据,做测试! 功能: 增加学生信息 删除学生信息 修改学生信息 查询学生信息:  按照学号(精确查询)  按照姓名(模糊查询) 打印展示 备份数据到磁盘 退出 2.代码块:(作为一个小案例,代码有点多了,我就不一一分析了,直接上代码!) (1):Model层 ----------学生实体类: package cn.jason.db; /** * 学生实体类 * Created by Jason 2016-7-15 上午8:36…
Java学习笔记 一个Student类 public class Student { private String sid; private String name; private String age; private String address; public Student() { } public Student(String sid, String name, String age, String address) { this.sid = sid; this.name = nam…
这几天Java学了点新的知识,打算要用这些知识做一个比较简单的管理系统,实战一下子,代码中的功能简洁,可能不多,但是作为一个练手来了解一个项目是怎么样一点一点思考的还是不错的 一.代码中要实现的功能 正所谓一个管理系统不可缺少的功能就是"增 删 查 改".该程序添加学生信息进而来实现1.根据学号查找2.根据姓名查找3.根据学号删除4.根据学号修改 二.实现中所用到的技术 这个程序主要是针对hashmap的应用,以及接口的实现而呈现出来的,还有如何利用增改删除来实现功能. 三.原理解析…
设计模式之Command(学习整理) 1.Command定义 不少Command模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作. 将这些命令封装成在一个类中,然后用户(调用者)再对这个类进行操作,这就是Command模式,换句话说,本来用户(调用者)是直接调用这些命令的,如菜单上打开文档(调用者),就直接指向打开文档的代码,使用Command模式,就是在这两者之间增加一个中间者,将这种直接关系拗断,同时两者之间都隔离,基本没有关系了. 显然…
最近在做web实验,要求是用jsp+servlet+mysql实现一个学生管理系统,完成对数据库的增删改查. 效果图:   代码: package dao; import java.util.List; import entity.Student; public interface IStudentDao { public boolean isExist(int sno); public boolean AddStudent(Student student); public List<Stude…
 1.简单的小例子: 下面这个例子主要观察的是: 一个对象的wait()和notify()使用情况! 当一个对象调用了wait(),那么当前掌握该对象锁标记的线程,就会让出CPU的使用权,转而进入该对象的等待池中等待唤醒,这里说明一下,每一个对象都有一个独立的等待池和锁池! 等待池:上述的wait()后的线程会进入等待池中,处于下图线程声明周期(简单示意图) 中的这个状态,等待池中的线程任然具有对象的锁标记,但是处于休眠状态,不是可运行状态! 当该对象调用notify方法之后,就会在等待池中系统…
1.模拟斗地主 public class PlayCards { public static void main(String[] args) { String[] color = {"黑桃", "梅花", "方片", "红桃"}; String[] num = {"A", "2", "3", "4", "5", "6…
1.线程死锁的概念: 简单地理解下吧! 我们都知道,线程在执行的过程中是占着CPU的资源的,当多个线程都需要一个被锁住的条件才能结束的时候,死锁就产生了! 还有一个经典的死锁现象: 经典的“哲学家就餐问题”,5个哲学家吃中餐,坐在圆卓子旁.每人有5根筷子(不是5双),每两个人中间放一根,哲学家时而思考,时而进餐. 每个人都需要一双筷子才能吃到东西,吃完后将筷子放回原处继续思考,如果每个人都立刻抓住自己左边的筷子,然后等待右边的筷子空出来,同时又不 放下已经拿到的筷子,这样每个人都无法得到1双筷子…
   1. 模式定义         把会变化的内容取出并封装起来,以便以后可以轻易地改动或扩充部分,而不影响不需要变化的其他部分: 2.模式本质:  少用继承,多用组合,简单地说就是:固定不变的信息封装在一个类中,变化的信息我们使用接口,抽象定义,那么使用的时候:继承不变的,自定义实现变化的那              部分! 3.举例分析: 示例: 一个鸭子类型: 抽象类型   /*抽象的鸭子类*/ 1 public abstract class Duck { //所有的鸭子均会叫以及游泳,…
import java.util.Scanner; public class Student{ public static void main(String[] args){ Scanner in=new Scanner(System.in); System.out.println("请输入学生的人数"); int studentsNum=in.nextInt(); System.out.println("请输入课程数目"); int coursesNum=in.n…
好久没有总结一些东西了,同时集合部分的知识点也学习的比较早了,但是从来没有抽时间去研究和学习,今天正好有时间就总结一下map常用的遍历方法: package runningwhile; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class Hashmaptest { public static void main(String[] args) { Map<String,Str…
个人觉得,学框架最好的 方法无外乎两个:一个是实践这个框架,真实的去用它,比如spring框架,先搭一个简单的spring项目,然后一步一步得去丰富它,从中学到spring框架的精髓和知识:另外一个就是看源码了,这个被无数大神推荐过,不过他需要一定的能力(至少你要有一定的设计模式的知识积累和足够牛的java coding能力). 今天就简单实现一下springmvc: 首先,创建一个maven-archetype-webapp项目,路径图如下: 首先是pom文件,导入需要的jar包: <proj…
设计模式之Adapter(适配器) 1.定义: 将两个不兼容的类纠合在一起使用,属于结构型模式,需要有Adaptee(被适配者)和Adaptor(适配器)两个身份. 2.为何使用? 我们经常碰到要将两个没有关系的类组合在一起使用,第一解决方案是:修改各自类的接口,但是如果我们没有源代码,或者,我们不愿意为了一个应用而修改各自的接口. 怎么办? 使用Adapter,在这两种接口之间创建一个混合接口(混血儿). 3.如何使用? 实现Adapter方式,其实"think in Java"的&…
1.概念: (在我看来,模式就像是是一种思想,在这种思想的指引下,对代码和结构的一番加工和整合而已!都是套路!) 装饰模式又称包装(Wrapper)模式,是以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案.对客户端透明意味着接口不变. 2.问题: 在OO设计和开发过程中, 经常会遇到下面的情况: 我们需要为已经设计好的类添加新的职责, 通常情况下我们会定义一个新类继承自定义好的类. 由于组合比继承更好(复杂度高,继承深度深等原因, 类图: 3.如何实现装饰: (1):继承形式:(不推…
1.概念: java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例.饿汉式单例.登记式单例三种. 单例模式有一下特点: 1.单例类只能有一个实例. 2.单例类必须自己自己创建自己的唯一实例. 3.单例类必须给所有其他对象提供这一实例. 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例.在计算机系统中,线程池.缓存.日志对象.对话框.打印机.显卡的驱动程序对象常被设计成单例.这些应用都或多或少具有资源管理器的功能.每台计算机可以有若干个打印机,但只能有一个Prin…
1.工厂模式 1.1 为什么使用工厂模式? 因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑实用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量.     我们以类Sample为例, 如果我们要创建Sample的实例对象: Sample sample=new Sample();     可是,实际情况是,通常我们都要在创建sa…
转载请注明:http://blog.csdn.net/j903829182/article/details/38405735 反射主要是指程序能够訪问.检測和改动它本身的状态或行为的一种能力. java中反射是一种强大的工具.它可以创建灵活的代码,这些代码可以在执行时装载,无须在组件之间进行链接.反射同意在编写与执行时,使程序可以接入到jvm中的类的内部信息,而不是源码中选定的类协作的代码.这使反射成为构建灵活应用代码的主要工具. 须要注意的是,假设使用不当.反射的成本会非常高. package…
求平方和 public static void main(String[] args) throws IOException { int n; String s; BufferedReader buf; buf=new BufferedReader(new InputStreamReader(System.in)); System.out.print("请输入一个自然数:"); s=buf.readLine(); n=Integer.parseInt(s); System.out.pr…
1.join简介: 今天刚学的,这里我简单总结一下,join本身就是“加入”的意思,那么在线程中是什么意思呢?是在一个线程的run方法执行过程中,当特殊情况下需要执行一些其他的操作的时候,我们会用到join这个方法. 假设: 在执行A线程的时候,在A的run方法中,创建 了一个新的线程B,并且启动了,那么接下来分为2种情况: (1):B没有调用join方法: 这个时候A线程和B线程其实是处于同一个级别状态的,A.B线程可以说是竞争关系,共同争夺CPU的使用权限. 不存在那个一定在前执行,那个一定…
1.什么是守护线程? 今天老师讲解我才知道有守护线程这回事!原来守护线程经常存在于我们的身边,比如:一个免费的网页游戏,里面都会或多或少有些插入性的广告!! 一般情况下,我们不会去点击这些广告的,但是广告商是需要点击量的啊!所以制作游戏的人会背地里使用守护线程去访问这个广告界面,但是我们用户是不知道 的!就是守护线程一般对用户不可见,对背后的程序员可见! 再比如:我们使用的QQ软件,我们可以一边聊天,一边更新QQ软件!当我们聊天结束,关闭QQ的时候,你会发现,QQ更新的操作也被终止了! 其实:更…
位运算符: >>>无符号右移运算符,无符号右移的规则和右移的规则同样,仅仅是在填充时,无论原来是正数还是负数都用0来补充. 数组: arr1=arr2;  此时两个数组变量都会同一时候指向同样的数组,即arr2所指向的数组,假设arr2所指向的数组发生变化,则arr1和arr2都变化. 使用Arrays.sort进行排序(使用的是快排) 幻方矩阵:(直接给实例) public class magic { /** * 使用多维数组打印一个n阶幻方矩阵 * 矩阵的每行每列和对角线上的数据元素…
比较两个字符串的值: /*------------------------比较两个字符串的值----------------------*/ String st1="hello"; String st2="he"+new String("llo"); /* equals比较的是这个内容的值, ==比较的是内容真正的内存地址是否相等! 不要搞混了*/ System.err.println(st2.equals(st1));//true System…
前言 makefile推荐资料为陈皓的跟我一起写makefile,需要pdf资源的可以私我 正文 目录结构 ---include ------student.h ---src ------student.cc ------main.cc ---makefile makefile文件 vpath %.h ./include vpath %.cc ./src CC = g++ object = main.o student.o all: exe exe: ${object} ${CC} -o $@…
#include<stdio.h>#include<string.h>#include <stdlib.h>#define M 100struct score                                    //学生成绩信息结构体定义 { int china; int english; int math; int  add; };struct info     //学生信息结构体定义{ int num;            //学生学号5 cha…
Student management system   学生管理系统IO版 详细知识点可参考一下几篇文章 常用API Java 之ArrayList集合及应用 Java 之IO流及应用 Comprehensive exercises 1.1 要求 A:键盘录入3个学生信息(学号,姓名,年龄,居住地)存入集合,要求学生信息的学号不能重复 B:遍历集合把每一个学生信息存入文本文件 C:每一个学生信息为一行数据,每行学生的学号,姓名,年龄和居住地在文件中均以逗号分隔 1.1.1 案例代码一: pack…
python开发的学生管理系统(基础版) #定义一个函数,显示可以使用的功能列表给用户 def showInfo(): print("-"*30) print(" 学生管理系统 ") print(" 1.添加学生的信息") print(" 2.删除学生的信息") print(" 3.修改学生的信息") print(" 4.查询学生的信息") print(" 5.遍历所有学生的信…
首先附上完整代码: import java.util.Scanner; public class SocreInformation { public SocreInformation(){}; public SocreInformation(String i1,String i2,double i3,double i4,double i5,double i6,double i7) {stunumber=i1; name=i2; mathematicsscore=i3; englishiscore…
1.UDP协议: 总结一下,今天学习的一点知识点! UDP也是一种通信协议,常被用来与TCP协议作比较!我们知道,在发送数据包的时候使用TCP协议比UDP协议安全,那么到底安全在哪里呢?怎么理解呢! 下面我说一下我的简单理解! 由于TCP协议是一种面向连接的协议,有三次挥手通信确认机制,且数据包没有代销限制,TCP协议确保在通信双方都收到对方确认信息的前提下,才开始为通信的双方传输信息(数据包)! 这样数据包的传输可以得到安全保障!所以简单的理解为安全的!当然一旦,出现网络问题,或者一些其他意外…
第83节:Java中的学生管理系统分页功能 分页功能一般可以做成两种,一种是物理分页,另一种是逻辑分页.这两种功能是有各自的特点的,物理分页是查询的时候,对数据库进行访问,只是查一页数据就进行返回,其特点是对内存中数据量存储不大,只是缺点就是要对数据库不断的进行访问:而对逻辑分页来说,就有所不同,它是一下子就把所有的数据全部查询出来,然后放入到内存中,访问速度快,缺点就是对内存空间不足,数据量过大. select * from stu limit 5; // offset 偏移前面的多少条,of…
第82节:Java中的学生管理系统 学生管理系统的删除功能 删除,点击超链接,点击弹出对话框式是否进行删除,如果确定,就删除,超链接执行的是js方法,在js里访问,跳转servlet,,servlet中调用dao方法. <a href="#" onclick="doDelete(${stu.sid})">删除</a> <script type="text/javascript"> function doDele…