Java学习
正经程序员·
If you want to go fast, go alone. If you want to go far, go together.
展开
-
Java打怪小游戏
Java文字小游戏人类杀死怪物后会获得经验升级,升级会回复血量,提高攻击力. 怪物分为四个类型: 超级丧尸/变异丧尸/普通丧尸/吸血鬼. 不同类别的怪物具有不同的攻击力,防御力,躲避以及特殊属性等等.原创 2017-09-06 22:01:42 · 17280 阅读 · 4 评论 -
总结: 十分钟理解Java线程 同步 调度及相关知识(详细)
一.进程与线程的区别 一般来说,把正在计算机中执行的程序叫做"进程"(Process),而不将其称为程序(Program).所谓线程(Thread),是"进程"中某个单一顺序的控制流.新兴的操作系统,如Mac,windows10等,大多采用多线程的概念,把线程视为基本执行单位.线程也是Java中相当重要的组成部分.那么,进程与线程的主要区别是什么呢! 进程与线...原创 2018-03-27 13:51:15 · 6090 阅读 · 1 评论 -
总结: 十分钟快速理解MVC框架模式以及在Java框架中的解释
MVC英文即Model-View-Controller,即把一个应用的输入,处理,输出流程按照模型(Model),视图(View),控制器(Controller)的方式进行分离,这样一个应用被分为3个层----模型层,视图层,控制层.Model(模型)是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据。View(视图)是应用程序中处理数据显示的部分,通常视...原创 2018-03-27 17:42:32 · 3947 阅读 · 0 评论 -
总结: 十分钟快速理解 Spring DI 依赖注入
依赖注入(Dependency Injection,DI) 所谓的依赖注入,是指程序在运行过程中,如果需要调用另一个对象协助时,无须在代码中创建被调用者,而是依赖于外部的注入.Spring的依赖注入对调用者和被调用者几乎没有任何要求,完全支持对POJO之间依赖关系的管理.依赖注入通常有以下两种(以一个人需要一把斧子为例). 1.设值注入 设值注入是指通过sett...原创 2018-03-27 20:13:24 · 2408 阅读 · 0 评论 -
总结: 十分钟快速理解 Spring IoC 控制反转
Ioc 全名Inversion of Control ,翻译过来就是控制反转的意思.上一篇文章中,我们学习了依赖注入. Spring能有效地组织J2EE应用各层的对象.不管是控制层的Action对象,还是业务层的Service对象,还是持久层的DAO层对象,都可在Spring的管理下有机的协调,运行.Spring将各层的对象以松耦合的方式组合在一起,Action对象无须关...原创 2018-03-27 20:53:20 · 3529 阅读 · 0 评论 -
浅析Java内存泄漏
Java什么时候会发生内存泄漏原创 2018-05-14 20:05:22 · 2855 阅读 · 0 评论 -
Java多线程详解
Java多线程有哪几种实现方式原创 2018-06-11 21:07:14 · 946 阅读 · 0 评论 -
JVM加载class文件的原理
类加载的主要步骤分为以下3步:1).装载.根据查找路径找到相对应的class文件,然后导入.2).链接.链接又可以分为3个小的步骤,具体如下. 1.检查.检查待加载的class文件的正确性. 2.准备.给类中的静态变量分配存储空间 3.解析.将符号引用转换成直接引用(这一步是可选的)3)初始化.对静态变量和静态代码块执行初始化工作. Java语言是一种具有动态性的解释...原创 2018-06-12 17:13:53 · 6878 阅读 · 0 评论 -
同步与异步
在多线程的环境中,经常会遇到数据的共享问题,即当多个线程需要访问同一个资源时,它们需要以某种顺序来确保该资源在某一时刻只能被一个线程使用,否则,程序的运行结果将会是不可预料的,在这种情况下就必须对数据进行同步,例如多个线程同时对同一数据进行写操作,即当线程A需要使用某个资源时,如果这个资源正在被线程B使用,同步机制就会让线程A一直等待下去,直到线程B结束对该资源的使用后,线程A才能使...原创 2018-06-14 21:08:52 · 2538 阅读 · 0 评论 -
synchronized与Lock的区别
Java语言提供了两种锁机制来实现对某个共享资源的同步:synchronized和Lock.其中,synchronized使用Object对象本身的notify,wait,notifyAll调度机制,而Lock可以使用Condition进行线程之间的调度,完成synchronized实现的所有功能.具体而言,二者的主要区别主要表现在以下几个方法的内容:1)用法不一样.在需要同步的对象中加入sync...原创 2018-06-14 22:52:19 · 5709 阅读 · 0 评论 -
Java中==与equals的区别
==怎么用? 可以用于比较基本数据类型,比较的就是基本数据类型的值是否相等。 可以用于比较引用数据类型,比较的是对象的地址值是否相等。equals怎么用? equals只能用于比较引用数据类型的。 Object提供的equals是用于比较对象地址值是否相同。 自定义类中,如果重写了equals方法,那么就是按照你自己的需求来比较的。区别引用在知乎上看到的回答,就是"==是看看左右是不是一个东西,e...原创 2018-04-02 10:09:51 · 1709 阅读 · 0 评论 -
struts2 Action 返回值总结+案例分析 (jsp/html, 字符串,json数据)
一.返回jsp/html页面//Actionpublic String ListUsers() { List<Users> userslist = usersService.findAll(); ServletActionContext.getRequest().setAttribute("userslist", userslist); retur...原创 2018-03-26 20:34:29 · 3524 阅读 · 0 评论 -
Java计算两点间的距离
代码如下package one;public class TestPoint { public static void main(String[] args){ Point p1 = new Point(); p1.x = 12; p1.y = 22; Point p2 = new Point(); p2.x =原创 2017-09-06 22:33:34 · 33975 阅读 · 3 评论 -
怎么解决java.lang.NoClassDefFoundError错误
前言在日常Java开发中,我们经常碰到java.lang.NoClassDefFoundError这样的错误,需要花费很多时间去找错误的原因,具体是哪个类不见了?类明明还在,为什么找不到?而且我们很容易把java.lang.NoClassDefFoundError和java.lang.ClassNotfoundException这两个错误搞混,事实上这两个错误是完全不同的。我们往往花费时间去不断尝试转载 2017-09-24 12:20:35 · 10010 阅读 · 0 评论 -
Java的构造函数和重载
package one;/* * 构造函数,在对象初始化的时候进行赋值操作特点: 1.名称必须和类名完全一致 2.不写返回值 3.当开发人员没有写任何构造函数是,jvw会自动生成一个没有参数的构造函数 4.当开发人员手动写了任意一个构造函数后,Jvw就不会在生成不在参数的构造函数了 * */public class TtstNodd原创 2017-09-06 22:39:06 · 5968 阅读 · 0 评论 -
Java基本注解分析,为什么要使用@Override
@Override标注在子类方法中,表示此方法是覆盖父类的重载方法,具有强制性,即如果父类没有此方法,则会编译出错。那它到底有什么用呢?让我们来看这一需求场景:假如我们利用面向对象的多态特性特性编程,有子类Sa,Sb继承自父类S.我们需要在子类Sa,Sb各自拓展父类S的speak方法,然后根据业务逻辑,通过A的引用来调用Sa,Sb的重载方法speak。示例代码如下所示:/*-------------转载 2017-09-11 09:03:36 · 2082 阅读 · 0 评论 -
Java计算矩形的面积和周长
代码如下package one;public class TestRectangle { public static void main(String[] args){ Rectangle zheng = new Rectangle(); zheng.height=20; zheng.width=10; int area = z原创 2017-09-06 22:27:06 · 37059 阅读 · 1 评论 -
js图片上传,ssh后台接收 struts2+jQuery
今天开始总结本次项目所用所学的知识js代码/*上传图片*/function upload(){ $("#notice_upload").html("上传中"); var interfaceAddress = getPort(); $.ajaxFileUpload({ url : interfaceAddress+'/upload', //用于文件上传的服务器端请求...原创 2018-03-19 11:06:37 · 6367 阅读 · 0 评论 -
总结: 十分钟深入理解Java反射机制
首先先看一下Java反射的概念JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。JAVA反射(放射)机制:“程序运行时,允许改变程序结构或变量类型,这种语言称为动态语言”。从这个观点看,Perl,Python,Ruby是动态语言,C++,Java,C...原创 2018-03-30 13:16:52 · 10585 阅读 · 0 评论 -
总结 : 十分钟快速理解Java容器
首先看一下Java容器的概念 容器可以管理对象的生命周期、对象与对象之间的依赖关系,您可以使用一个配置文件(通常是XML),在上面定义好对象的名称、如何产生(Prototype 方式或Singleton 方式)、哪个对象产生之后必须设定成为某个对象的属性等,在启动容器之后,所有的对象都可以直接取用,不用编写任何一行程序代码来产生对象,或是建立对象与对象之间的依赖关系。 通俗...原创 2018-03-30 13:43:23 · 6495 阅读 · 0 评论 -
总结: 十分钟理解 Java 对象生存期与JVM垃圾回收机制
Java的堆是一个运行时数据区,类的实例对象从中分配空间.Java虚拟机的堆中存储着正在运行的应用程序所建立的所有对象,这些对象通过new,newarray,anewarray和multainewarray等指令建立,但是它们不需要程序代码来显式地释放. 一般来说,堆是由垃圾回收来负责的,尽管JVM规范并不要求特殊的垃圾回收技术,甚至根本就不需要垃圾回收,但是由于内存有限...原创 2018-03-26 13:27:19 · 3359 阅读 · 0 评论 -
Java Socket 原理及生命周期
websocket长连接问题原创 2018-06-10 14:04:39 · 3775 阅读 · 0 评论