Java中的锁以及sychronized实现机制

2018-03-04
阅读 6 分钟
29.5k
公平锁是指多个线程按照申请锁的顺序来获取锁。非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁。有可能,会造成优先级反转或者饥饿现象。对于Java ReentrantLock而言,通过构造函数指定该锁是否是公平锁,默认是非公平锁。非公平锁的优点在于吞吐量比公平锁大。...

信号量

2018-03-03
阅读 1 分钟
1.9k
信号量是操作系统提供给用户使用的一种机制,帮助用户进程协调使用资源,用户编程的时候可以直接调用,不必自己设计。计算机对信号量只能执行 wait和signal这两种原子(sychronized)操作,即申请和释放信号量时无法被打断。

(转)JVM调优

2018-02-25
阅读 10 分钟
2.6k
最近在网上看到一些人讨论到java.lang.Runtime类中的 freeMemory(), totalMemory(), maxMemory()这几个方法的一些问题,很多人感到很疑惑,为什么,在java程序刚刚启动起来的时候freeMemory()这个方法返回的只有一两兆字节,而随着java程序往前运行,创建了不少的对象,freeMemory()这个方法的返回有时候不但没有减少,...

Java的GC机制

2018-02-24
阅读 3 分钟
4.8k
jvm 中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理,因此,我们的内存垃圾回收主要集中于 堆和方法区中,在程序运行期间,这部分内存的分配和使用都是动态的。

Spring(二)——注入对象

2018-02-14
阅读 3 分钟
1.9k
首先明确xml文件中的一些配置:id和name:表示标识这个<bean>节点,name可以有特殊字符scopebean的生存范围,有singleton(单例,默认)、prototype(非单例)、request、session、globalsessionclass表示关联的类文件名称(包名 + 类名)value注入基本数据类型或字符串ref注入一个对象引用factory-bean调用的工厂B...

内部类的访问特点

2018-02-12
阅读 2 分钟
1.7k
今天刷题的时候遇到了一题关于内部类的访问的问题,发现自己忘了许多,现在来复习一下。首先,内部类的类字节码文件名字为Outer$Inner.class。

JAVA的传参机制

2018-02-11
阅读 1 分钟
1.3k
之前一直感觉C++和JAVA代码之间的转换是分分钟的事情,直到今天刷题《剑指offer》时,被引用给虐了。。才知道C++虽然看起来臃肿,但是对于数据的操作是真的灵活。

jsp的参数传递和编码问题

2018-01-17
阅读 2 分钟
2.1k
今天在学习BBS的回复页面的过程中,希望将待回复的父贴的标题传递到回复页面,但是一直都出现问题,在解决问题的过程中顺便复习了一下页面传递以及jsp的编码问题。

Servlet&JSP学习笔记(二)

2017-12-26
阅读 3 分钟
1.6k
JSP(JAVA Server Pages):一种特殊的Servlet,直接在HTML中内嵌JSP代码,由JSP Engine自动转为Servlet代码,再编译成Class文件载入执行。注意:只有当客户端第一次请求JSP时,才需要将其转换、编译以及初始化。

ServletConfig与ServletContext对象详解

2017-12-23
阅读 5 分钟
2.7k
在Servlet的配置文件中,可以使用一个或多个<init-param>标签为servlet配置一些初始化参数。(配置在某个servlet标签或者整个web-app下) 当servlet配置了初始化参数后,web容器在创建servlet实例对象时,会自动将这些初始化参数封装到ServletConfig对象中,并在调用servlet的init方法时,将ServletConfig对象传递...

Servlet&JSP学习笔记(一)

2017-12-17
阅读 2 分钟
2.8k
首先我们需要了解Tomcat下的文件结构。tomcat的安装目录里,所有的web application都放在webapps下。假设某个webapp的名字叫test。那么会有在webapps目录下会有一个test文件夹。test|——WEB-INF(必要)|————web.xml(必要) 该app配置文件 |————lib app用到的库文件|————classes 存放编译好的servlet的class文件|——META-IN...

eclipse上启动Tomcat的一些问题

2017-12-15
阅读 1 分钟
2.8k
问题一:在eclipse Oxygen中配置好tomcat9,完成后tomcat能够正常启动server,但是浏览器localhost:8080访问不了Tomcat首页。解决方法如下:双击eclipse中服务器中的tomcat出现tomcat的配置界面

Java基础学习——String类及其方法

2016-12-09
阅读 2 分钟
1.8k
String类概述该类被final修饰,无子类,不可被复写。创建的对象一旦初始化,其内容不可被改变。String类复写了Object类中的equals()定义了自己的独特内容,该方法用于判断字符串相同。例:

Java基础学习——多线程之控制线程

2016-11-30
阅读 1 分钟
2.1k
join()线程当A线程执行到了B线程的join()方法时,A线程就会等待B线程执行完,A线程才会执行。join()常用于临时加入线程。重载形式:join():等待被join的线程执行完成。join(long millis):等待被join的线程的时间最长为millis毫秒,时间过了之后则不再等待。join(long millis,int nanos):等待时间最长为millis毫秒加nanos...

Java基础学习——多线程之停止线程和守护线程

2016-11-30
阅读 1 分钟
2.7k
stop()等方法过时以后,停止线程的唯一方法就是结束run()方法:开启多线程运行通常都是循环结构,只要使用标识位控制住循环,就可以让run()方法结束,即线程结束。

Java基础学习——多线程(线程间通信-生产者消费者代码示例)

2016-11-23
阅读 4 分钟
2k
Lock接口Lock 实现提供了比使用 synchronized 方法和语句可获得的更广泛的锁定操作。此实现允许更灵活的结构,可以具有差别很大的属性,可以支持多个相关的 Condition 对象。 线程间通信Condition接口Condition可以替代传统的线程间通信,用await()替换wait(),用signal()替换notify(),用signalAll()替换notifyAll()。...

Java基础学习——多线程之线程间通信(安全问题、等待唤醒机制)

2016-11-18
阅读 7 分钟
2.1k
其实就是多个线程操作同一个资源,但动作不同。示例:在某个数据库中,Input输入人的姓名,性别,Output输出,两个线程同时作用。思考:1.明确哪些代码是多线程操作的?2.明确共享数据。3.明确多线程代码中哪些是共享数据的。思考后发现,Input和Output类中的run方法对Res类的Field数据同时操作。故需要考虑使用同步。同...

Java基础学习——多线程之单例设计模式(转)

2016-11-16
阅读 3 分钟
2k
概念:  Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍两种:懒汉式单例、饿汉式单例。  单例模式有以下特点:  1、单例类只能有一个实例。  2、单例类必须自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实例。  单例模式确保某个类只有一个实例,而且自行实...