프로 그래 밍 지식 포인트 범례 - 2
【 비고 】
windows 는 환경 변 수 를 설정 합 니 다. 예 를 들 어 jdk 를 1.7.0 버 전 으로 설정 합 니 다 (% path% 를 추가 해 야 합 니 다).
set path="D:\ProgramFiles\Java\jdk1.7.0\bin";%path%
1. 현재 프로 세 스 의 모든 스 레 드 가 져 오기
- public static String[] getThreadNames() {
- ThreadGroup group = Thread.currentThread().getThreadGroup();
- ThreadGroup parent = null;
- while ((parent = group.getParent()) != null) {
- group = parent;
- }
- Thread[] threads = new Thread[group.activeCount()];
- group.enumerate(threads);
- java.util.HashSet<String> set = new java.util.HashSet<String>();
- for (int i = 0; i < threads.length; ++i) {
- if (threads[i] != null && threads[i].isAlive()) {
- try {
- set.add(threads[i].getThreadGroup().getName() + ","
- + threads[i].getName() + ","
- + threads[i].getPriority());
- } catch (Throwable e) {
- e.printStackTrace();
- }
- }
- }
- String[] result = (String[]) set.toArray(new String[0]);
- java.util.Arrays.sort(result);
- return result;
- }
2. 자바 다 중 스 레 드 - 모든 하위 스 레 드 가 실 행 될 때 까지 주 스 레 드 를 기다 리 게 합 니 다.
참고:http://3ccoder.iteye.com/blog/581476
main:
3. 생산자 소비자 문제
- public class ProducerTest {
- public static void main(String[] args) {
- Queue q = new Queue();
- Producer t1 = new Producer(q);
- Consumer t2 = new Consumer(q);
- t1.start();
- t2.start();
- }
- }
-
- class Producer extends Thread {
- Queue q;
-
- public Producer(Queue q) {
- this.q = q;
- }
-
- public void run() {
- for (int i = 0; i < 10; i++) {
- q.put(i);
- System.out.println("Producer put:" + i);
- }
- }
- }
-
- class Consumer extends Thread {
- Queue q;
-
- public Consumer(Queue q) {
- this.q = q;
- }
-
- public void run() {
- while (true) {
- System.out.println("Consumer get:" + q.get());
- }
- }
- }
-
- class Queue {
- int value;
- boolean bFull = false;
-
- public synchronized void put(int i) {
- if (!bFull) {
- value = i;
- bFull = true;
- notify();
- }
- try {
- wait();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- public synchronized int get() {
- if (!bFull) {
- try {
- wait();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- bFull = false;
- notify();
- return value;
-
- }
- }
4. Comparable 인터페이스 사용
- class Student implements Comparable
- {
- int num;
- String name;
- static class StudentComparator implements Comparator
- {
- public int compare(Object o1,Object o2)
- {
- Student s1=(Student)o1;
- Student s2=(Student)o2;
- int result=s1.num > s2.num ? 1 : (s1.num==s2.num ? 0 : -1);
- if(result==0)
- {
- result=s1.name.compareTo(s2.name);
- }
- return result;
- }
- }
- Student(int num,String name)
- {
- this.num=num;
- this.name=name;
- }
-
- public int compareTo(Object o)
- {
- Student s=(Student)o;
- return num > s.num ? 1 : (num==s.num ? 0 : -1);
- }
- public String toString()
- {
- return num+":"+name;
- }
- }
먼저 name, 후 age 를 요구 하면 다음 과 같이 참고 할 수 있 습 니 다.
- class Student implements Comparable<Object> {
- private String name;
- private int age;
-
- public Student(String name, int age) {
- super();
- this.name = name;
- this.age = age;
- }
-
- @Override
- public int compareTo(Object o) {
- Student student = null;
- if (o instanceof Student) {
- student = (Student) o;
- }
- int ret1 = this.name.compareTo(student.name);
- // int ret2 = this.age - student.age;
- return ret1 != 0 ? ret1 : (this.age > student.age ? 1
- : (this.age == student.age ? 0 : -1));
-
- }
- }
5. 파일 덮어 쓰기 설정 방법
- String requestedFile = System.getProperty(PROPERTIES_FILE);
- String propFileName = requestedFile != null ? requestedFile
- : "quartz.properties";
6、static final
static 이자 final 필드 는 변경 할 수 없 는 저장 공간 만 차지 합 니 다. 고정 초기 값 (즉, 컴 파일 시 상수) 을 가 진 static final 기본 형식 은 모두 대문자 로 명명 되 고 글자 와 글자 사 이 를 밑줄 로 구분 합 니 다.java. lang. byte 클래스 에서 byte 형식 에 대한 최소 값 정의:
public
static
final
byte
MIN_VALUE
= -128;
더 많은 참고:http://blog.csdn.net/tiannet/article/details/2593472
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.