본문 바로가기

하루 1개 이상 면접 질문163

면접질문148일차(동기화) 0625동기화 자바에서 동기화는 synchronized를 이용한다. 즉 한 개의 자원을 이용할 때 한 번에 한 스레드에서만 사용할 수 있게 하는 것이다. 만약 동기화가 없다면 내가 데이터를 수정하는 중에 다른 곳에서 데이터를 가져가서 사용하게 되면 오류가 생기게 된다. 이러한 것들을 막기 위해 한 개의 자원은 한 명이 사용하고 나서 다른 곳에서 사용하게 하는 것 입니다.. 자바는 이를 syncronized라는 것으로 사용한다. 함수에 syncronized를 붙여주거나 block으로 만들어서 사용한다. 즉 syncronized 대상이 되는 것은 한 스레드만 접근할 수 있게 하고 나머지는 기다리게 합니다. 일반적으로 클래스를 기준으로 잠기게 되므로 여러 사람이 한 번에 같은 클래스에 접근하는 것을 막을 수 .. 2022. 6. 25.
면접질문147일차(싱글톤) 0624싱글톤 싱클톤은 우리가 항상 어떤 클래스를 사용할때 사용할때마다 객체를 생성하고 사용하고 다시 만들고를 반복하게 된다. 그러면 주소가 서로 다른 여러 객체가 생성되는데 이를 하나의 객체로 하기위해 나왔다. 즉 클래스안에 자기자신을 담을수 있는 static변수를 만들고 static메소드로 해당변수가 비어있으면 해당클래스 객체가를 생성하고 저장하고 항상 변수를 리턴하는 함수를 정의한다. 그러면 처음 호출시에만 클래스 객체를 생성하고 그다음부터 호출에는 기존에 있던 객체를 다시 사용하게 된다. DAO를 이렇게 하면 객체의 재사용이 가능하다 2022. 6. 24.
면접질문 146일차(JNDI) 0622JNDI java Namin and Directory interface로 WAS 단에서 커넥션 객체에 미리 네이밍 해두는 방식입니다. web.xml에서 데이터를 읽어오고 형식을 만들고 context.xml을 이용해서 내부 내용을 채우게 됩니다. 네이밍은 이름을 짓는 것입니다. 즉 우리가 xml로 설정을 저장하면 그걸 사용해서 이름을 짓고 그 이름을 활용하여 lookup을 통해 찾을 수 있게 해줍니다. 2022. 6. 22.
면접질문 145일차(Gradle) 0621Gradle maven과 같은 빌드 도구입니다. 우선 메이븐으로 부터 마이그레이션이 쉽다는 장점이 있고 멀티프로젝트 빌드를 지원하고 설치가 필요 없습니다. 스크립트 규모가 작아서 읽기가 쉽습니다. 2022. 6. 21.