본문 바로가기

전체 글

(70)
[Java 기초] 자바 가상 기계 (JVM) https://aridom.tistory.com/79 에서 Java가 기동되기 위해선 JVM이 필요하다고 했다. 이번에는 이 JVM에 대해 간략하게 알아보자. Java가 운영체제에 종속적이지 않고 어느 환경에서나 실행이 가능하다. 이러한 기능을 제공해주는것이 JVM이라 생각하면 된다. 운영체제는 Java 프로그램을 바로 실행할 수 없다. JRE또는 JDK를 설치하여 JDK가 있어야 Java를 실행시킬 수 있다. Java 프로그램은 완전한 기계어가 아닌 중간 단계의 바이트 코드이기 때문에 이것을 해석하고 실행할 수 있는 가상의 운영체제가 필요하다. 이것이 바로 JVM(Java Virtual Machine)이다. 운영체제별로 프로그램을 실행하고 관리하는 방법이 다르기 때문에 각각의 운영체제별로 Java 프로..
[Java 기초] 프로그래밍 언어 와 Java 1. 프로그래밍 언어 컴퓨터가 우리가 알고 있는 언어로 이해하고 바로 동작될 수 있다면 얼마나 편할까? 클래스 밥먹기 { 정수 밥 = 1 정수 전기밥솥 = 2 밥 만드는데 드는 비용 = 쌀 + 전기밥솥 } 이렇게 동작만 된다면 굳이 변수명이나 클래스명을 만들 때 고민을 하지 않겠지... 컴퓨터는 사람과 다르게 인식할 수 있는 언어는 0과 1로 이루어진 이진 코드로 되어있다. 따라서 사람과 컴퓨터 간 상호작용을 하기 위해선 사람의 언어와 기계어의 징검다리 역할을 시켜주는 게 필요하다. 그것이 바로 프로그래밍 언어. 프로그래밍 언어는 고급 언어와 저급 언어로 구분된다. 고급 언어 : 컴퓨터가 바로 이해할 수 없으므로 컴파일(Compole) 과정을 통해 컴퓨터가 이해할 수 있는 0과 1로 이루어진 기계 어러 ..
밤은 순식간에... 퇴근하고 운동하고 저녁 먹으면 9시 40분... 뭔가 시간적 여유가 너무 없는것 같다 ㅠ 운동을 새벽으로 옮겨야 하나... 퇴근 후에는 별거 아닌 거 해도 시간이 금방 흘러간다.
[기억을 되돌리며#2] 문자열을 붙여주는 StringBuilder Java Output Formatting Input Format Every line of input will contain a String followed by an integer. Each String will have a maximum of alphabetic characters, and each integer will be in the inclusive range from to . Output Format In each line of output there should be two columns: The first column contains the String and is left justified using exactly characters. The second column contains th..
[이것저것] 빠른퇴근 사내에서 코로나 확진자가 나오면서 모든 직원들이 검사를 받게 되었다. 이로 인해 금일은 빠른 퇴근을 하였지만 사내에 코로나가 더 많이 퍼지지 않을지에 대한 걱정이 이만저만이 아니다. 여행을 좋아하는 나로서 이 코로나가 좀 빨리 잠식되었으면 한다... 아직 가보고 싶은곳이 많이 있는데 해외 좀 가고 싶다!
[기억을 되돌리며#1] Buffered Reader를 이용한 데이터 입출력 Java Stdin and Stdout I Most HackerRank challenges require you to read input from stdin (standard input) and write output to stdout (standard output). One popular way to read input from stdin is by using the Scanner class and specifying the Input Stream as System.in. For example: Scanner scanner = new Scanner(System.in); String myString = scanner.next(); int myInt = scanner.nextInt(); scanner.cl..
아무거나 글올리기 챌린지 이놈의 의지박약이 참 큰일이다. "이번 연도에는 정리를 꾸준히 해보자!"라고 생각하고 올린 글은 고작 4개다. 진짜로 처참해 보이기도하고 나 자신이 나태해지는 느낌이 들어 진짜 아무거 나라도 글을 끄적여 보고자 한다. 아주 간단한 문제라도 상관없으니 아무거나 주제를 잡아 글을 써보고자 한다. 주제의 선정은 아래와 같다. 1. HackerRank에서 가입하여 Java문제를 푼다. 2. IDE를 사용하지 않고 오직 HackerRank에서 제공하는 툴만을 이용한다. 3. 자동완성없이 코드만 작성 중 3번 이상 Exception이 발생된 구간이 있으면 뒤도 보지 말고 글을 쓴다. 요즘 개발함에 있어서 워낙 IDE의 자동완성 기능을 사용하다보니 내가 IDE에 의존도가 커져서 사소한 거라도 계속 인터넷을 찾아보게 ..
Mybatis Plugins Mybatis3에선 Spring AOP기능과 비슷한 동작을 제공하는 Plugins를 제공한다. Mybatis에서 제공하는 메서드를 호출을 하면 요청을 가로채어 특정 작업을 수행할 수 있다. AOP란? 관점 지향 프로그래밍의 약자로 주로 공통적인 부가기능을 비즈니스 로직과 분리하는 프로그래밍 기법 Mybatis에서 제공해주는 Plugins 클래스는 아래와 같다. Executor (update, query, flushStatements, commit, rollback, getTransaction, close, isClosed) ParameterHandler (getParameterObject, setParameters) ResultSetHandler (handleResultSets, handleOutputP..