
JAVA
Mankind_萌凯
90后,计算机研究生,欢迎关注我的微信公众号:萌凯的程序人生
展开
-
【java总结】多线程(基础篇)
Java的线程分为5种状态:创建、就绪、运行、阻塞和死亡。创建:在java种创建线程的方式有两种,一种是通过继承Thread类并且重写run方法,run方法中执行的代码便是线程执行的代码。另一种是通过实现Runnable接口,并将该接口实例传入一个Thread实例。通过对Thread的引用调用start()方法,即可让线程进入就绪状态。如果直接调用run方法,并不会生成线程,而是在原创 2017-02-19 20:18:46 · 429 阅读 · 0 评论 -
【java总结】设计模式详解
Java设计模式,是一套由前人总结的,被反复使用的代码设计经验。它为我们解决一些实际问题提供了一些很好的设计模板,了解设计模式,有利于提高我们的代码设计能力,架构能力,更有可能自己能够设计出适合业务的一套设计模式。接下来就让我们了解一下这些神秘的设计模式。总的来说,设计模式可以分为以下几大类。创建型模式:属于创建型模式的设计模式有单例模式,简单工厂模式,工厂方法模式,抽象工厂模式,原型模式原创 2017-04-03 15:23:39 · 2644 阅读 · 5 评论 -
【ssm框架】Controller层之参数自动绑定
SSM框架中,controller作为控制层,是前台后台的交界处,管理着前台请求的映射,后台处理完请求后又将结果返回给前台。@Controller@RequestMapping(“/console”)public class A extends BaseController{ @RequestMapping(“/A”) publicvoid A(){原创 2017-09-23 13:41:27 · 2921 阅读 · 0 评论 -
【ssm框架】Service业务逻辑层&&Mybatis映射层
Service层通常业务处理的代码并不直接放在controller层中,那样会显得职责不单一,不方便维护。Service业务逻辑层通常用来处理各种各样的业务逻辑。我们将最基本的增删改查抽取出来,作为一个基类放在BaseService层中,这样子类就不用再去重复这些代码,如果有其他需求再自行扩展即可。public class BaseModel implements Serializab原创 2017-09-23 13:48:48 · 5298 阅读 · 0 评论 -
【ssm框架】枚举类Enum的应用
通常我们会用一个布尔值来表示状态,比如0表示不通过,1表示通过,然而,许多时候状态并不只有两种,比如在系统中表示毕业论文的答辩状态,通常有正常答辩,争优答辩,延期答辩3种,在数据库中我们使用的是整数来存储,0表示正常答辩,2表示争优答辩,4表示延期答辩,那么如何实现这种对应关系呢? /** * @描述: 所有枚举类型都继承此接口,即可自动处理枚举类型的映射 * @作者:https://gi原创 2017-09-23 14:34:12 · 1511 阅读 · 0 评论 -
【ssm框架】配置log4j日志
日志是项目管理必不可少的一个内容。他可以记录用户的登录情况,进行了哪些操作,帮助我们更好地管理项目。通过查看日志,我们也可以更快地找到bug并修复。在ssm框架中配置log4j环境的步骤如下:添加maven依赖 commons-logging commons-logging org.slf4j slf4j-log4j12写好log4j.prope原创 2017-09-23 14:40:40 · 8799 阅读 · 1 评论 -
【ssm框架】使用PageHelper插件进行分页
通常我们要实现分页,都需要传入一个当前页,要读的数据个数,经过计算之后,将需要的值填入接在sql语句limit关键字的后面。然而使用PageHelper之后我们并不需要对sql添加什么limit,直接按查询全部去写sql语句即可。只要在查询之前调用PageHelper.startPage(page,rows),它会帮我们把limit及后面的内容自动注入到我们的sql语句中进行查询,大大方便了我们的原创 2017-09-30 21:55:18 · 2985 阅读 · 0 评论 -
【ssm框架】添加json支持
在ssm框架中添加json支持其实很简单。只需要几步即可完成。第一步:在spring-mvc.xml中配置<bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> ap原创 2017-09-30 21:59:15 · 2670 阅读 · 0 评论 -
【ssm框架】增删改查的最佳实践
在javaweb网站项目开发的过程当中,增删改查一直是最主要的内容,下面是经过最近的项目实战总结出来的一套SSM框架进行增删改查的架构。 我们知道,利用controller可以跳转页面,同时带上我们处理后得到的数据。在controller中我们可以设置这样一段代码@ModelAttribute("user") public User get(@RequestParam(re原创 2017-09-30 22:07:48 · 3052 阅读 · 0 评论 -
【基于角色的访问控制RBAC】权限与资源树
基于角色的权限访问控制(Role-BasedAccess Control)。在RBAC中,权限与角色相关联,通过使用户成为适当的角色而得到这些角色的权限。用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收。这就极大地简化了权限的管理。资源树将整个系统的功能按模块划分,如用户管理模块,文件管理模块,用户管理模块下又有管原创 2017-10-01 22:47:18 · 4886 阅读 · 0 评论 -
【java总结】多线程进阶篇之数据结构
BlockingQueue阻塞队列是Java5线程新特征中的内容,Java定义了阻塞队列的接口 java.util.concurrent.BlockingQueue,阻塞队列的概念是,一个指定长度的队列,如果队列满了,添加新元素的操作会被阻塞等待,直到有空位为止。同样,当队列为空时候,请求队列元素的操作同样会阻塞等待,直到有可用元素为止。public class BlockingQ原创 2017-02-20 10:29:21 · 818 阅读 · 0 评论 -
【java总结】TCP/UDP
TCP(Transmission Control Protocol 传输控制协议)TCP主要是面向连接的协议,它包含有建立和拆除连接,保证数据流的顺序和正确性等功能。每次对TCP中间的数据操作相当于对一个数据流进行访问。它最典型的特征就是那三次握手的建立连接过程。Server端所要做的事情主要是建立一个通信的端点,然后等待客户端发送的请求。典型的处理步骤如下:1. 构建一个Server原创 2017-02-12 16:48:33 · 830 阅读 · 0 评论 -
【java总结】多线程进阶篇之atomic包
在java语言中,类似i++这种操作并不是原子性的。它并非线程安全的语句,在实际使用中,我们经常需要使用synchronized语句来保证数据的正确。现如今,大多数处理器都包含原子性指令,常见的指令是CAS(compare and set)和TAS(test and set),是一种加锁的原子操作指令。CAS 操作包含三个操作数 ——内存位置(V)、预期原值(A)和新值(B原创 2017-02-20 08:49:54 · 611 阅读 · 0 评论 -
【java总结】多线程进阶篇之locks包
Java.util.concurrent.locks包提供了一系列关于锁的抽象的类,主要的锁为ReentrantLock,ReentrantReadWriteLock。ReentrantLock(可重入锁)它与synchronized有着相同作用,且功能更加强大。它的构造函数可以传入一个boolean类型的公平因子,当传入true时,在多个线程竞争下将倾向于等待时间最长的线程。默认原创 2017-02-20 09:24:24 · 644 阅读 · 0 评论 -
【java总结】多线程进阶篇之任务执行
众所周知,创建线程的方法有两种,一种是通过继承Thread并重写run()方法,一种是实现Runnable接口,由于run()方法是没有返回值的,因此,这样创建出来的线程也是没有返回值的。为了创造有返回值的线程,java提供了Callable和Future,通过这两个接口,可以在线程完成后得到结果。Callable泛型接口,它含有一个方法:V call() throws Excepti原创 2017-02-20 13:18:50 · 905 阅读 · 0 评论 -
【java总结】多线程进阶篇之辅助类
CompletionService将生产新的异步任务与使用已完成任务的结果分离开来的服务。生产者 submit 执行的任务。使用者 take 已完成的任务,并按照完成这些任务的顺序处理它们的结果。例如,CompletionService 可以用来管理异步 IO ,执行读操作的任务作为程序或系统的一部分提交,然后,当完成读操作时,会在程序的不同部分执行其他操作,执行操作的顺序可能与所请求的顺序不原创 2017-02-20 19:43:35 · 448 阅读 · 0 评论 -
【java总结】反射
JAVA反射机制JAVA有着一个非常突出的动态相关机制:Reflection,即反射机制,用在Java身上指的是我们可以于运行时加载、探知、使用编译期间完全未知的classes。换句话说,Java程序可以加载一个运行时才得知名称的class,获悉其完整构造(但不包括methods定义),并生成其对象实体、或对其fields设值、或唤起其methods。public class Pe原创 2017-02-11 21:13:44 · 474 阅读 · 0 评论 -
【java总结】IO体系
javaIO体系主要分为两种,一种为读取字符的Reader/Writer,一种为读取字节的Input/OutputStream。下面对各个类进行详细介绍 FileInputStream/FileOutputStream以文件作为数据输入源的数据流。或者说是打开文件,从文件读数据到内存的类。FileInputStream可以使用read()方法一次读入一个原创 2017-02-11 22:31:02 · 547 阅读 · 0 评论 -
【java总结】Genneric泛型
Genneric泛型在JDK1.5时引进,是 Java 语言中类型安全的一次重要改进。举个例子,在没有泛型的时候,List里可以放入任意Object,有时我们一厢情愿地认为里面所有放的都是String,在使用的时候把内容提取出来都转成String类来用,然而,List里可以有其他类型,如int类型,自定义类等..这种代码在编译期间不会报错,直到运行时才出现问题。泛型的引进,修正了这种问题,一个原创 2017-02-12 16:18:38 · 770 阅读 · 0 评论 -
【java总结】关于BIO、NIO、AIO的理解
在JavaIO中,提供了3种IO,分别是BIO,NIO和AIO。在学习这三个之前,我们需要先了解一些概念。 IO操作我们知道,一个程序需要经常读取一些外设的信息,如硬盘,显卡上的信息,这些操作被称为IO操作,以读操作为例,IO操作可以被分为两个阶段:①查看数据是否准备就绪,②进行数据拷贝。对于计算机来说,IO操作是非常耗时的,应为CPU跟外设之间的速度极度不匹配,相对CPU原创 2017-03-08 15:14:03 · 472 阅读 · 0 评论 -
【java总结】集合框架
Collection是集合框架层次结构中的根接口。Collection 表示一组对象,这些对象也称为 collection 的元素。一些 collection 允许有重复的元素,而另一些则不允许。一些 collection 是有序的,而另一些则是无序的。Collection接口下有最常用的接口为List跟Set。然而,Map并没有实现Collection接口。L原创 2017-02-11 13:49:45 · 475 阅读 · 0 评论 -
【java总结】注解Annotation
注解(Annotation)也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。注解不能直接干扰程序代码的运行,无论增加或者删除注解,代码都能正常运行。java自身提供了3种标准注解,Override注解,Deprecated注解,Suppre原创 2017-02-11 22:06:30 · 542 阅读 · 0 评论