본문 바로가기

Basic Programming/java

(20)
java에서 동적 배열 ArrayList와 Vector ArrayList와 VectorJava에서 동적 배열은 ArrayList와 Vector를 사용해 구현한다. 과거에는 Vector가 대표적인 동적 배열로 사용되었지만, 현재는 ArrayList를 더 많이 사용한다. ArrayList와 Vector의 차이점동기화(Synchronization)ArrayList는 동기화를 지원하지 않으므로 단일 스레드 환경에서 빠르게 동작한다. 반면, Vector는 기본적으로 동기화를 지원하여 멀티스레드 환경에서 안전하게 동작하지만, 그만큼 성능이 떨어진다.크기 조정ArrayList는 내부 배열의 크기를 50%씩 늘리고, Vector는 크기를 2배씩 늘린다. 따라서 Vector는 더 큰 크기를 빠르게 확보할 수 있지만, 메모리 낭비가 발생할 가능성이 있다.성능ArrayList는..
#java 06 자바 메모리구조 1. CPU와 메모리CPU는 컴퓨터의 핵심이다. 0과 1을 이용하여 데이터를 표현하고 이것을 연산하는게 CPU의 역할이다. CPU는 연산을 담당하여 데이터의 저장용도로 사용하지않는다 데이터의 저장은 RAM에 저장되어 RAM에 있는 데이터를 CPU가 가져와 연산을 하여 그결과값을 다시 RAM에 적재하는 식으로 처리된다. 물론 레지스터 메모리나 캐시메모리가 CPU에 있긴하지만 아주 소량이고 데이터의 저장을 주 목적으로 사용되는건 아니다. RAM에서 가지고온데이터를 처리하기 위해 일시적으로 저장하거나 자주 사용하는 데이터를 가져와 캐시에 적재한다. 2. JVM의 구조JVM(Java Virtual Machine)은 Java 프로그램을 실행하기 위해 설계된 가상 컴퓨터로, Java 바이트코드를 기계어로 번역하고 ..
#java 05 툴없이 만들기 간단한 출력 프로그램 Jar 파일 만들고 연동 Jar파일 만들기전폴더 구조Calcㄴsrc ㄴcore ㄴAdder.java ㄴ main ㄴ TestApp.javaㄴbinㄴrun.sh * src/core/Adder.javapackage core;public class Adder{ public int add(int a, int b){ return a + b; }} * src/main/TestApp.javapackage main;import core.Adder;public class TestApp{ public static void main(String[] args){ int size = args.length; if..
#java 04 툴없이 만들기 간단한 계산기 1. 계산기프로그램1) 폴더구조Calc.build.sh (윈도우는 .build.bat)- bin core Calc.class main TestApp.class- src core Calc.java main TestApp.java 2) Calc.javapackage core;public class Calc{ public int Add(int a, int b){ return a + b; }}3) TestApp.javapackage main;import core.Calc;public class TestApp{ public static void main(String[] args){ Calc cal = new Calc(); int..
#java 03 툴없이 만들기 간단한 출력 프로그램 1. Hello World CMD로 개발1) cmd를 킨다. 2) cd (리눅스계열: pwd) 를 입력하여 현재위치를 확인해 본다.3) notepad HelloWorld.java (리눅스 : vim HelloWorld.java) 입력하여 편집툴을 연다. 4) 아래내용을 코딩한다.class HelloWorld{ public static void main(String[] args){ System.out.println("Hello World"); }} 5) 컨트롤 + S를 눌러 저장한다(리눅스 : ! 누른후 wq! 입력후 엔터) 6) javac ./HelloWorld.java 를 입력하여 컴파일한다.7) java HelloWorld (리눅스 : java ./HelloWorld)를 입력하여 실행한다. 2..
모던 자바 stream 1, 2, 4, 5, 6, 7, 8, 9, 10 숫자 배열이 있다.이사이 사이에 "-" 라는 문자를 넣고 싶을때 클레식 자바에서는 아래와 같이 표현 한다. public static void classJava(){ StringBuilder sb = new StringBuilder(); int size = list.size(); for(int i=0; i 또는 아래와 같이도 사용한다.public static void classJava(){ StringBuilder sb = new StringBuilder(); for(Integer number : list){ sb.append(number).append(" : "); } if(sb.length() > 0){ ..
#java 02 Java 프로그래밍 1. 기본 지식 1) 최초의 0과 1컴퓨터는 0과 1로 계산을 한다. 0은 전류가 흐르지않음을 1은 전류가 흐르는 것을 전류의 스위치로 표현해 계산을 하는 것이 컴퓨터의 연산 방법이다. 이것을 2진법이라 한다. 2) 2진법인간이 사용하는 10진법은 1부터 9까지의 숫자가 한자리수로 표현되고 9에서 1을 한번 더해야 자리수가 늘어나 10으로 표현한다.컴퓨터의 2진법은 0부터 1까지의 숫자가 한자리수로 표현되고 1에서 1을 한번 더하면 자리수가 늘어나 10으로 표현된다. 3) bit0과 1을 표현하는 1자리수를 bit라 한다. 0과 1은 1bit라 하고 10, 11은 2bit, 100, 101, 110, 111은 3bit라 한다. 4) byte1bit를 8개 묶은 것을 1byte라 한다. 예를들어 2바이트는..
#java 01 컴퓨터의 시작 1. 주판컴퓨터는 원래는 계산을 위해 만들어 졌다. 최초 인간은 손가락을 이용해 10진법 계산만 사용해 왔다. 계산 할 일이 많아지자 사람들은 도구를 이용하기 시작했다. BC 3000년 경, 메소포타미아인들에의해 모래로 덮힌 판위에 조약돌로 계산을 하였는데 이것이 최초의 계산기 '주판'의 시작이 되었다. 이후 로마시대에선 타진홈에 구슬을 끼워 넣은 휴대용 주판을 만들 었고 동양에서는 중국 한나라때 오늘날까지 사용되는 주판의 초기 형태가 만들어 졌다. 주판은 계산하는데 많은 도움을 주었지만, 복잡한 셈을 하기에는 불편했고 다양한 연산이 불가능 했다. 2. 톱니바퀴 계산기1642년 프랑스 수학자, 블레즈 파스칼에 의해 톱니바퀴 원리를 이용해 덧셈과 뺄셈이 가능한 기계식 계산기를 발명 했다. 톱니바퀴가 맞물려..