728x90
반응형

분류 전체보기 279

[Computer Architecture] Computer improvement

- Uniprocessor performance improvement 1986년도 부터 2003년 정도까지는 해마다 단일 프로세서의 성능이 급격하게 증가했지만, 그 이후로 다시 정체되는 모습을 보이고 있습니다. Clock speed를 높임에 따라서 늘어나는 성능보다는 배터리 전력소모 등의 단점이 더 커져갔기 때문입니다. 기존의 컴퓨터 아키텍쳐를 통해서 Parallel하게 Instruction을 수행할 수 있도록 design하는 방법이 한계에 달했다고 볼 수 있습니다. 아무리 프로세서를 빠르게 만들어도 메모리 접근을 자주하게 되면 여전히 메모리 속도는 상대적으로 느리기 때문에 속도가 감소하게 됩니다. 즉 빠른 프로세서가 큰 영향을 못 미치는 상황인 것입니다. Processor Logic capacity: ..

[Computer Architecture] Computer Abstractions and Technology

- 용어 정리 Operation(연산) 컴퓨터가 수행할 수 있는 가장 기본적인 작업 단위 ex) 산술 연산(더하기, 빼기, 곱하기, 나누기), 데이터 이동, 비교 등 Instruction(명령어) 컴퓨터에게 특정 작업을 수행하도록 지시 하나 이상의 연산으로 구성, 컴퓨터 프로그램을 이루는 기본 단위 Process(프로세스) 실행 중인 프로그램 Processor(프로세서) 중앙 처리 장치(CPU)라고도 함. 명령어를 해석하고 실행하는 역할 - Performance의 이해 Algorithm: 실행될 operations의 개수를 결정 Programming language, compiler, architecture: machine의 instruction 당 수행되는 operation 수를 결정 ex) objec..

[Java][Maven][VSCode] syntax error near unexpected token `('. @REM Licensed to the Apache Software Foundation (ASF)

VSCode에서 Maven을 사용하기 위해서 환경설정이 필요하다하여 다음 블로그를 참고하여 설정을 하였습니다. https://mydeveloplife.tistory.com/18 vscode에서 maven 프로젝트를 jar 파일 빌드하기 mydeveloplife.tistory.com User setting 설정 settings.xml 위치 Path 설정 mvn.cmd위치 위와 같이 설정을 하고 Maven 프로젝트를 실행하려고 하니 mvn.cmd 파일에 대하여 syntax error near unexpected token `(' 에러와 @REM Licensed to the Apache Software Foundation (ASF)가 나타났습니다. 이는 Path를 mvn.cmd 파일로 설정해서 나타난 문제였습..

[Java] printf에서 %n과 \n의 차이점

System.out.printf("%d%n", 123); System.out.printf("%d\n", 123); %n과 \n 모두 줄 바꿈을 표현하는데 사용됩니다. VSC에서 실행하는 경우 결과값에 이 차이점이 없어 보입니다. 하지만 이 둘은 플랫폼에 따라 차이점이 있을 수 있습니다. %n은 플랫폼에 따라서 줄바꿈을 처리하는 방식에 따라 다른 줄바꿈 문자를 출력합니다. 예를 들어, Windows 운영체제에서는 %n이 "\r\n"으로 처리되어 출력됩니다. 따라서, %n을 사용하면 어떤 운영체제에서든 일관성 있는 줄바꿈을 표현할 수 있습니다. *\r은 캐리지 리턴(Carriage Return)을 나타내는 이스케이프 시퀸스. 이전에 출력한 문자열의 맨 앞으로 커서를 이동시킨다. 예를 들어, System.ou..

[Java] VScode javax.swing 실행이 안될 때

https://code.visualstudio.com/docs/java/java-gui Develop Java GUI Applications in Visual Studio Code How to develop Java GUI Applications (JavaFX, AWT, Swing) in Visual Studio Code code.visualstudio.com extension for java package를 다운받았음에도 불구하고 javax.swing 패키지를 실행할 수 없을 때 다음 절차를 따라해보세요. 맥 유저라면 ⌘+⇧+P, 윈도우 유저라면 Ctrl + Shift + P를 눌러 Command Pallete를 엽니다. 여기에 Java:Help Center를 들어갑니다. 여기서 STUDENT 탭에 들..

[Java] Mac VsCode zsh: command not found: 에러

Java의 정석의 예제코드를 따라 공부하려고 하니 다음과 같은 에러가 나타났다. import java.util.*; public class ExpValidCheck { public static void main(String[] args){ if(args.length!=1){ System.out.println("Usage: java ExpValidCheck \"EXPRESSION\""); System.out.println("Example: java ExpValidCheck \"((2+3)*1)+3\""); System.exit(0); } Stack st = new Stack(); String expression = args[0]; try{ for(int i = 0; i < expression.length(..

[Java] AND와 OR의 연산자 우선순위

논리 연산자 중에서 AND를 의미하는 '&'와 '&&'가 OR를 의미하는 '|'와 '||'보다 우선순위가 높다. 이처럼 수식에 AND와 OR가 함께 사용되는 경우에는 괄호를 사용해서 우선순위를 명확히 하는 것이 좋다. x = 6; System.out.printf("x=%2d, x%%2==0 || x%%3==0 && x%%6!=0 =%b%n", x, x%2==0||x%3==0 && x%6!=0); System.out.printf("x=%2d, (x%%2==0 || x%%3==0) && x%%6!=0 = %b%n",x, (x%2==0||x%3==0)&& x%6!=0); 이 결과 &&의 우선순위가 ||보다 높기 때문에 x%2==0 || x%3==0 && x%6!=0 은 True || True && False ..

[Java] 프로그램 오류

컴파일 에러: 컴파일 시에 발생하는 에러 런타임 에러: 실행 시에 발생하는 에러 논리적 에러: 실행은 되지만, 의도와 다르게 동작하는 것 에러(error): 프로그램 코드에 의해서 수습될 수 없는 심각한 오류 ex) 메모리 부족(OutOfMemoryError), 스택오버플로우(StackOverflowError) 예외(exception): 프로그램 코드에 의해서 수습될 수 있는 다소 미약한 오류 Exception클래스들: 사용자의 실수와 같은 외적인 요인에 의해 발생하는 예외 RuntimeException클래스들: 프로그래머의 실수로 발생하는 예외

[Java] 인터페이스(interface)

abstract class 클래스이름 implements 인터페이스이름 { // 인터페이스 일부 구현 } 인터페이스(interface) - 일종의 추상클래스. 하지만 추상클래스를 부분적으로 완성된 '미완성 설계도'이지만 인터페이스는 구현된 것이 아무 것도 없고 밑그림만 그려져 있는 '기본 설계도'라고 생각하면 됨. - 추상클래스처럼 추상메서드를 갖지만 추상클래스보다 추상화 정도가 높아서 추상클래스와 다르게 몸통을 갖춘 일반 메서드 또는 멤버변수를 구성원으로 가질 수 없다. - 접근제어자로 public 또는 default를 사용할 수 있다. interface 인터페이스이름 { public static final 타입 상수이름 = 값; public abstract 메서드이름 (매개변수목록); } - 일반적인..

728x90
반응형