Programing/java
JDBC - 커넥션풀(Connection pool)
Connection pool JDBC API 를 이용해서 DB와 Connection 을 하는작업은 비용이 많이 발생한다. Connection Pool을 이용하면 애플리케이션 로딩 시점에 Connection 객체를 미리 생성하고, 애플리 케이션에서 디비 연결이 필요할 경우 미리 준비된 Connection 객체를 상용하여 애플리케이션 성능을 향상 시킬 수 있다. 다음은 MYSQL 문서에 나와있는 테이블이 행을 산입하는데 필요한 대략적인 수치(시간의 비율)이다. 아래 문서에서 알 수 있듯 행을 삽입할때 디비 연결 단계가 가장 비용(시간)이 든다는 것을 알 수 있다. 행을 삽입하는 데 필요한 시간은 다음에 따라 결정됩니다. 숫자는 대략적인 수치를 나타내는 다음 요소들 크기: 연결: (3) 서버로 쿼리 보내기: ..
Java 자바 메모리 구조
자바 메모리 구조 Static , Heap, Stack 이란 출력(모니터), 연산(CPU), 저장(메모리) 메모리는 논리적으로 메모리가 떠 있는 시간에 따라 Static , Heap , Stack 으로 나눠 놨다. static 프로그램의 시작~끝 담당 (계속 메모리에 떠 있기때문에 부화가 큼) heap 동적할당 영역, 메모리에 떠 있다가 할 일이 다 끝나면 사라짐 (행위의 시작과동시에 실행) stack 행위에 대한 정보들을 저장하는 영역 (잠깐 떳다 사라짐) 자료형 메모리 구조 RAM(메모리)에 8바이트 크기의 메모리가 있다고 하면 메모리는 1바이트마다 0부터 7까지의 메모리 공간을 만들고 각 공간마다 이름을 붙여준다. 그리고 4byte크기인 자료형int를 int num = 10; 라고선언을 하면 컴퓨터..
Java JVM과 JDK 이해하기
컴퓨터를 사용하는 사용자가 직접 하드웨어에 데이터를 저장하는건 쉽지 않은 일 이기 때문에 사용자가 데이터를 입력하는 키보드의 데이터를 받은 운영체제가 중간에서 대신 하드웨어에게 데이터를 저장하라고 명령을내려 우리는 쉽게 데이터를 운영체제를 통해서 하드웨어에 저장할 수 있다. 사용자(키보드,마우스) ->운영체제 ->하드웨어 그리고 프로그래밍을 하는 개발자는 마우스와 키보드를 대신해서 운영체제에 명령할 수 있는 (자바)같은 프로그래밍 언어를 배워서 os 에 명령을 내린다. 언어(자바) -> os ->하드웨어 JDK 자바라는 언어로 os에 명령을 내릴때는 JDK(JAVA Development kit) 자바 개발 킷이라는 툴을 통해서 운영체제에 명령을 내릴 수 있다. JDK 환경변수 하는 이유 터미널또는 cmd..
스택(Stack)이란, 스택활용
스택 : LIFO(Last in First out)구조. 마지막에 저장된 것을 제일 먼저 꺼내게 된다. 저장(Push) , 추출(Pop) 스택(Stack)활용 예 - 수식계산, 수식괄호 검사, 워드프로세서undo/redo, 웹브라우저 뒤로/ 앞으로 예제 실습)) import java.util.*; public class TTest { static String iq; public static void main(String[] args) { Scanner sc = new Scanner(System.in); //괄호식 입력할 스캐너 생성 Stack st = new Stack(); //괄호식이 한지 확인할 스택 생성 System.out.println("괄호식 입력 : "); //(5+5) 입력 iq = sc.n..

메서드 Math.pow() ,Math.sqrt()로 두 점의 거리 구하기
두 점(x,y) 와(x1,y1)의 거리 공식은 아래와 같다 위의 공식으로 자바로 두점의 거리를 구해보자 위의 공식을 자바로 표현하기 위해서는 아래의 메서드가 필요하다. Math.pow()
#Java 문자열 다루기
System.out.println("안녕, Name...잘가.".replace("Name", "대체이름"));//.replace 로 반복되는 문자에 이름만 바꾸는 문자열을 만들수있다. =Console 안녕, 대체이름...잘가.
#Java 문자열의 표현-Character and string
-Character and string System.out.println("Hi"); //=String System.out.println('Hi'); //Error 난다 이유는 ''는 자바에서는 캐릭터(Character) 라는 문자 한글자의 데이터타입을 나타낸다 , Character가 하나하나 모여있는걸 String 이라한다.
#Java 숫자와 연산
System.out.println(1+1); System.out.println(1-1); System.out.println(1*1); //연산자란 숫자 안에있는 +,-, ,*,/ 등의 부호를 연산자(operator)라한다. System.out.println(1/1); System.out.println(Math.PI);//=3.141592653589793 math. 라는 그룹안에는 여러가지 수학적 도구들이 있다. System.out.println(Math.floor(Math.PI)); //=3.0소수내림 System.out.println(Math.ceil(Math.PI)); //=4.0소수올림 //계산기로는 상상도못하는 복잡한 수학적인 작업들을 할 수 있다.
프로그래밍 언어에서 데이터를 각각 나눈 이유
프로그래밍 언어에서 데이터를 나눈 이유는 각각 데이터마다 특성에 맞게 처리하는 방법이 있기 때문이다. 컴퓨터의 다루는 스킬을 쌓아간다는 것은 크게 두가지 흐름이 있다고한다. 1. 내가 지금 하고 있는 이 시스템에는 어떤 종류의 데이터 타입들이 존재 하는가를 알아가는 방향 2. 각각의 데이터 타입별로 어떤 연산방법들이 존재하는가를 알아가는 것 하나 이것들로 컴퓨터로 할 수 있는 일의 가능성들의 폭팔적으로 증가하게 된다고 한다.
JAVA의 동작원리
java source code.java ↓compile - ~.java 의 확장자명은 사람이 이해할수 있는 코드를 써놓은 확장자로 이를 .class라는 확장자로 컴파일시키면 컴퓨터(이클립스)가 이해 할 수 있도록 언어를 변환시는것을 컴파일 이라고한다. java application.class ↓run - 컴퓨터가 이해하는 확장자인 class를 실행하면 java vittual machine 컴퓨터에 내장된 java vittual machine으로 사인을보낸다 java vittual machine ↓run - 사인을 받은 java vittual machine은 컴퓨터로 데이터를 출력시킨다. computer