안녕하세요. chogahui05입니다. 생산자 소비자 문제를 구현할 때, 한 가지 의문이 들었습니다. 분명히 맞게 구현한 거 같은데 왜 제대로 동작을 하지 않을까? 이는 제가 쓰레드를 시작할 때, start 메서드를 불러야 하는데, run 메서드를 불렀었기 때문입니다. 그렇기 때문에 LOCK을 풀어야 하는데 풀리지도 않고. 계속 wait 상태에만 걸렸었습니다. notify가 들어가지도 않고. 3시간을 날린 것은 덤이였고요. 그런 걸 보면, 전 면접에도, 서류도 통과할 자격이 없는 건 분명해 보입니다. 이 둘이 어떤 차이가 있길래 그럴까요? Thread 클래스의 내부를 간단하게 보겠습니다. 여러 가지 쓰레드에 대한 정보들이 있는데요. 이 중, group이라는 것도 볼 필요가 있습니다. 713번째 줄에, T..
분류 전체보기 검색 결과
== 연산자는 기본 타입일 때에는, 두 대상이 동일한지를 비교합니다. 그러면 그 대상들이 object일 때에는 어떻게 동작할까요? 같은 객체인지를 비교합니다. 즉, 같은 object를 가르키는지를 검사합니다. 그렇다면 True이고, 아니라면 false입니다. 정말 이것이 다인가요? 네. 내용이 동일한지를 검사하기 위해서는 equals 메서드를 오버라이딩을 할 수 있는데요. 이는 다음에 언급해 드리도록 하겠습니다. 예제 1번 프로그램을 봅시다. Point 클래스가 있습니다. 이 안에는 필드 x, y가 있네요. 15번째 줄과, 16번째 줄에 Point 객체를 생성합니다. 그리고 17번째 줄에서 a == b인지를 검사합니다. 결과는 어떻게 나올까요? new 연산자는 힙에다가 객체를 생성합니다. 즉, 15번째 ..
안녕하세요. chogahui05입니다. 문자열을 다루는 함수 중에, left, right, mid 함수가 있습니다. 어디서 많이 들어본 함수 같은데. 사실 엑셀에도 떡하니 있는 함수들입니다. 텍스트를 자른다. 아니면 추출하는 것들로 매우 잘 알려져 있습니다. 물론, LIKE '%~'나, LIKE '~%'의 대용으로도 써먹을 수 있기도 합니다. 먼저 기억해 두셔야 할 것이 있습니다. MYSQL에서, 문자열의 인덱스는 0부터가 아닌, 1부터 시작한다는 것입니다. 헷갈릴 수 있으니, 이것 먼저 기억해 두시는 게 좋겠습니다. 먼저 LEFT입니다. 문자열과, 가장 왼쪽에 있는 것 부터 몇 개나 꺼내올 건지를 받습니다. 말 그대로 왼쪽에서부터 3개를 꺼내오기 때문에, 결과는 'abc'가 리턴이 됩니다. 예를 들어 ..
배열 회전 알고리즘은, 구현 문제에서 심심찮게 보이는 문제 중에 하나입니다. 우리는 n by n 배열을 시계, 그리고 반시계 방향으로 temp array를 쓰고 회전하는 방법을 배워보도록 하겠습니다. 물론, 면접에서는 n by n짜리를 안 쓰고 돌리는 방법을 물어볼 수도 있습니다. 이에 대한 방법은, 과제로 드리겠습니다. 배열이 있습니다. 이것을 시계 방향으로 90도 회전시키면 어떻게 그려질까요? 요렇게 그려집니다. 그런가요? 그러면 우리는 첫 번째 줄부터 특징을 잡아야 하는데요. 1번째 줄에는, [..][0]이 들어갔다는 것을 알 수 있습니다. 2번째 줄에는 [..][1]이, 3번째 줄에는 [..][2]가 들어갔다는 것을 알 수 있어요. 이제 0열부터 2열까지 열별로 볼까요? 그러면, 0열은 [2][...
게시판 헤더 테이블과, 실제 콘텐츠를 담고 있는 테이블 2개가 있다고 생각해 봅시다. 하나는, 글 id랑, 제목, 작성자, 조회수, 작성 날짜를 담고 있습니다. 다른 하나는 글 id와 실제 post 내용을 담고 있습니다. 그러면 게시글을 추가하는 이벤트가 발생했을 때, 헤더 테이블에 추가한 다음에, 콘텐츠를 담고 있는 테이블에 추가를 해야 할 겁니다. 이 때 콘텐츠에 들어가는 글 id랑, 헤더에 들어가는 글 id가 같기 때문에, contents를 가지고 있는 테이블에 추가하기 전에, 추가된 글 번호를 가져와야 합니다. 어떻게 해야 할까요? board_header DDL문입니다. id가 NOT NULL이면서, AUTO_INCREMENT입니다. 그리고 primary key입니다. 그러면, 인덱스가 걸렸다는 ..
최근댓글