본문 바로가기

728x90

java

(14)
[개발자 면접] JAVA언어의 특징과 가비지컬렉션에 대하여 Q. 자바언어가 가진 특징에 대해서 설명 1. 플래폼 독립성 : 하드웨어, 운영체제에 종속되지 않은 독립적인 바이트 코드로 컴파일된다. 2. 객체지향언어 : 자바는 캡슐화, 상속, 다형성을 지원하여 인간의 사고와 가깝게 표현한다. 3. 클래스로 캡슐화 한다. 4. 소스와 클래스 파일이 있다. 5. 실행코드 배포 : jar파일 형태로 압축하여 배포하거나 실행 할 수 있다. 6. 멀티스레드 7. 가비지커렉션 사용 : 메모리를 할당받지만 반환받는 기능이 없어 가비지 컬렉션에 의해 자동으로 회수된다. 8. 실시간 응용시스템에 부적합하다. 예측할 수 없는 시점에 가비지 컬렉션이 실행되어 프로그램이 일시적으로 중단된다. 9. 실행 속도를 개선하기 위해 JIT 컴파일러가 사용된다. Q. 가비지 컬렉션에 대해서 설명 ..
[개발자 면접] 다양한 개발언어중 자바를 사용하는 이유 Q. 자바의 사용이유에 대해서 설명? > # 플랫폼 독립성, 메모리 사용량 적음. 매우 다양한 플랫폼을 갖는 가전제품을 위해 플랫폼 독립적인 언어가 필요했는데, 가전제품에 들어가는 장치는 매우 적은 양의 메모리를 사용해야 했다. - 플랫폼 독립적이면서 메모리 사용량이 적은 언어인 oak를 인터넷 환경에 적합하도록 발전시켜 만들어졌다. Write Once Run AnyWhere(WORA) c/c++ 등 컴파일러가 기계어 코드로 변환할 때 프로그램이 실행될 대상 컴퓨터의 CPU와 운영체제에 종속저인 코드로 변환하는데, 그러면 다른 플랫폼(CPU가 다르거나 OS가 다르면)에서는 다시 컴파일하여 플랫폼에 맞도록 코드를 수정해야 한다. 하지만 JAVA는 개발 단계에서 플랫폼에 독립적으로 설계되어 JVM만 있으면 ..
[정보보안] Java를 활용하여 CBC 모드에서 AES 암복호화 실습 package kr.ac.zerco; import java.util.Base64; import javax.crypto.Cipher; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; public class AES { private static final String key = "aesEncryptionKey"; //16Byte == 128bit private static final String initVector = "encryptionIntVec"; //16Byte //인코더 생성 private static final Base64.Encoder enc = Base64.getEncoder(); //디코더 생성..
[eclipse] js 파일을 가져올 때 이전 js파일로 적용되는 경우 해결 방법 시스템 시간을 받아올 수 있는 System.currentTimeMillis() 을 활용한다. 이런식을 스크립트 파일 명 뒤에 ?v= 를 추가하여 실행하면 적용이 될 것이다.
[JAVA] 주민등록번호 검증 프로그램 # 콘솔용으로 간단한 주민등록번호 검증 기능을 만들어 보았다. 1) 길이 검증 2) 숫자 포맷 검증 3) 주민등록번호 마지막 숫자(검증번호)를 이용한 검증 class RegistrationNumberVerficationManager { private String input; private int totalCount; private int correctCount; private int errorCount; private int abnormalCount; private Scanner sc = new Scanner(System.in); // 생성자 public RegistrationNumberVerficationManager() { start(); } // 시작해주는 함수 private void start()..
[JAVA] ObjectStream을 이용한 Socket 통신 String으로만 소켓 통신을 한다면, 파일 같은 자료구조나 클래스는 보낼 수 없다. 따라서 소켓 통신을 할때 ObjectStream 으로 객체를 이용하여 통신을 하도록 하는 것이 좋다. 이때 객체는 Serializabe을 implements 한 직렬화한 클래스 여야 한다. * 먼저 기본적으로 어떻게 동작하는지 살펴보겠다. 단순히 서버에 로그인 한걸 알리는 코드이다. public class Member implements Serializable { private static final long serialVersionUID = 1L; private String id; private String pwd; public String getId() { return id; } public void setId(St..
[JAVA] 간단한 고객관리프로그램 * 고객관리 할 수 있는 프로그램을 AWT로 GUI를 구성하여 만들었습니다. String의 사용을 최대한 줄이고, StringBuffer를 사용하여 메모리 낭비를 줄이도록 하였습니다. ObjectStream을 이용하여 입출력 할 수 있도록 하였습니다. 파일을 저장, 새이름으로 저장, 불러오기 등 io를 사용할 수 있도록 구성하였습니다. ObjectStream을 사용하지 않고 객체 직렬화하지 않는 함수도 포함하였습니다. 복잡한 프로그램이 아니기에 Customer.java, CustomerManager.java 두개의 클래스만으로 구성하였고 이벤트 관련 리스너를 클래스안에서 모두 처리하도록 하였습니다. 화면 구성도 별도의 클래스로 panel를 나누지 않고 buildGUI 라는 함수안에서 모두 처리할 수 있도..
[JAVA] 계산기 만들기 * 계산식이 나오지 않고 동작하는 옛날 계산기 방식의 단순한 프로그램을 AWT로 GUI를 구성하여 만들었습니다. 코드) import java.awt.BorderLayout; import java.awt.Button; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Frame; import java.awt.GridLayout; import java.awt.Label; import java.awt.Panel; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import jav..

728x90