Thumbnail
BEST 개발 ・ 프로그래밍 프로그래밍 언어
더 자바, 코드를 조작하는 다양한 방법
(4.9)
106개의 수강평 ∙ 1772명의 수강생

49,500원

지식공유자 : 백기선
총 24개 수업˙총 4시간 36분
평생 무제한 수강
수료증 발급 강의
초급 대상
이 강의는 멘토링 신청이 가능합니다.
멘토링은 수강 신청과 별개로 운영되며, 수강생이 아니어도 신청할 수 있습니다.
내 목록 추가 830 공유
박용훈 프로필

저 궁금한게 있습니다. 박용훈 10일 전
강의 중에"Extension 클래스 로더"라 하지 않고,이제는 "Platform 클래스 로더"로 한다고 언급하셨는데,그러면 강의 자료에Extension이 작성되있는 것이아닌,Platform으로 작성되있어야 하는거 아닌가요? 강의 듣는데는 문제는 없지만, 어쩌면 오해의 소지가 있을 수 있어서 질문드립니다. 

2
백앤드정복하자 프로필

JVM 에서 metaspace와 static 에 대해 질문드립니다. 백앤드정복하자 10일 전
java 학습중인 학생입니다! java7에서 permanet 영역(method area)이 java8에서 metaspace로 대체 됐다고 들었습니다. 그 변경사항중에 static과 상수가 method area 에서  heap 영역으로 이동됐다고 알고있는데 클래스 로더가 static 변수를 할당할때 heap 영역에 할당한다고 생각하면 될까요? 그리고 대체되었다면 method area가 metaspace로 변경된건지도 질문입니다!

1
호눅스 프로필

바이트코드 조작 강의 매우 유익했습니다. 호눅스 13일 전
컴포넌트 스캔 동작이 전부터 궁금했었는데, 명쾌한 설명 정말 감사합니다!

1
호눅스 프로필

PC 레지스터의 설명 부분에 오류가 있는 것 같습니다. 호눅스 20일 전
안녕하세요? 기선님 영상에서 작은 오류를 발견한 것 같은데요. PC 레지스터는 현재 실행중인스트럭션의 주소가 저장되는 게 맞는 듯합니다. The pc Register The Java Virtual Machine can support many threads of execution at once (JLS §17). Each Java Virtual Machine thread has its own pc (program counter) register. At any point, each Java Virtual Machine thread is executing the code of a single method, namely the current method (§2.6) for that thread. If that method is not native, the pc register contains the address of the Java Virtual Machine instruction currently being executed. If the method currently being executed by the thread is native, the value of the Java Virtual Machine's pc register is undefined. The Java Virtual Machine's pc register is wide enough to hold a returnAddress or a native pointer on the specific platform. (출처: 오라클)

2
박준호 프로필

site 폴더가 안생깁니다 ㅜㅜ 박준호 23일 전
https://github.com/KAN-JUNHO/workspace jacoco 설치후 target/site 라는 폴더가 생기지 않습니다 ㅜㅜ

4
개발못하는개발자 프로필

바이트버디 Unloading 관련해서 질문드립니다. 개발못하는개발자 25일 전
먼저, 자바8과 스프링 강의등 다 잘 수강을 마쳤습니다. 항상 좋은 강의 만들어주셔서 감사하게 보고있습니다 :) 본론으로 들어가 Java Code Hot Deploy와 관련되서 여기저기 찾아보다가 결국에 백기선님 강의까지 도달했는데요. 제가 알고 있기로는 자바의 BootStrap이나 Extension 그리고 System나 Application Class Loader의 경우 Unloading 기능이 없는 것으로 알고 있습니다. 바이트 버디와 말씀하신 부분 중에서도 궁금했던 부분이 언로딩 기능인데요. 모자라는 클래스를 Application Class Loader와 바이트 버디가 만들어주는 Class Loader에서 로드해주기 때문에 사실상 같은 이름이지만 JVM 상에서는 2개라고 말씀해주셨던 부분이 있었습니다. 제 생각은 그렇다면 바이트 버디가 Unloading과 Reloading이 가능한 이유는 바이트 버디가 자체적으로 Class Loader를 갖고 있기 때문에 JVM 내부에 있는 클래스 로더의 Unloading이 안된다는 단점을 상쇄시킨 것이라고 생각하면 될까요?

2
호눅스 프로필

크리스마스 정주행 시작합니다! 호눅스 25일 전
기선님 좋은 강의 만들어 주셔서 항상 감사합니다! 

1
이석준 프로필

JIT 컴파일러와 인터프리터에 대한 질문.. 이석준 1달 전
안녕하세요 기선님, 질문 하나만 드리겠습니다 ㅠ.ㅠ  제가 이해하기로는, 또한 인터넷에서 찾아본 결과로는 자바는 JIT 컴파일러를 default로 사용한다고 하길래, JIT 컴파일러가 인터프리터 역할까지 한다고 생각을 하는데,  강의 내용에서는 (제가 잘못들은 것 일 수 있지만) JIT 컴파일러가 먼저 캐싱만 해두고, 그 이후에 인터프리터를 사용하는 것처럼 보이는데 어떤게 맞는건지 알수 있을까요??  또한 기선님이 주신 참고자료에서 보았을 때, JIT 컴파일러가 최적화를 위해서 블록단위로 코드를 컴파일하여 최적화를 한다는 내용도있는데, 어떤 내용이 맞는건지 궁금합니다.

1
HappyJay 프로필

인스턴스 관련해서 질문이 있습니다. HappyJay 3달 전
안녕하세요. 우선 매번 좋은 강의 올려주셔서 정말 감사합니다^^ 질문이 있는데 클래스 로딩이 끝나고 나서 heap 영역에 인스턴스 관련 정보가 들어가 있고 Class<Book> bookClass = Book.class 를 통해 인스턴스를 가져올 수 있다고 했는데 그러면 이 인스턴스는 new Book() 으로 생성된 인스턴스와는 다른 건가요? 실제 멤버변수의 값을 가져오기 위해서는 왜 new Book() 으로 인스턴스를 생성해야 하는지 궁금합니다. 그리고 Book.class 로 가져오는 인스턴스와 new Book() 으로 생성된 인스턴스가 다르다면 어떻게 다른지도 알 수 있을까요?

1
킴앀 프로필

안녕하세요 바이트버디 관련해서 질문드립니다. 킴앀 3달 전
안녕하세요 바이트버디 관련해서 질문드립니다. 바이트버디 코드와 System.out.println(new Moja().pullOut());  이 코드를 동시에 쓸 수 없다는게,, Masulsa를 실행하면 Masulsa.class, Moja.class로 컴파일되고 그 클래스 파일들이 로딩되고 실행되기 때문에, 그 이후에 바이트버디를 통해서 class 파일을 조작해도 이미 로딩된 클래스 정보 (메소드 영역에 있는) 를 보고 있기 때문에  적용이 안된다는 의미인거죠? 강의는 이전에 다 봤는데,, 혼자 좀 복습하다가 갑자기 좀 혼동이 되서 질문드립니다 ㅎㅎ

2
조승현 프로필

활용 조승현 3달 전
이런 리플렉션 API를 활용하면 어떤곳에 활용할 수 있을까요?

1
sombrero 104 프로필

JaCoCo 웹페이지에 측정 결과가 반영이 안될 때 sombrero 104 3달 전
안녕하세요. 코드 커버리지 강의 보면서 JaCoCo 설치 과정을 그대로 따라했는데 무엇이 문제인지 JaCoCo의 index.html을 실행하면 코드 커버리지 측정 결과가 반영이 안됩니다.  테스트를 실행하고 빌드해도 아무런 에러도 없고, index.html 페이지에서는 테스트 실행이 0%이며 빨간색으로만 표시됩니다. ㅠㅠ 인텔리제이에 있는 코드커버리지 기능은 제대로 작동이 되는데  어디서부터 확인하면 좋을까요. ㅠㅠ 항상 좋은 강의 감사합니다.

4
eunji 프로필

BookService 클래스 위치 - 테스트코드 관련 eunji 4달 전
안녕하세요 기선님 ~ 재밌는 강의 감사합니다. bookRepository와 bookService를 왜 테스트코드 쪽에서 생성하는지 이유가 궁금하여 질문 드립니다. 강의 내용 중(4:41)  BookRepository를 생성하여 반환하려다 소스코드는 테스트코드를 참조하지 못하여 리플렉션으로 인스턴스 생성하는 부분에서,저라면 편의를 위해 ContainerService에서 간단히 인스턴스를 반환하기 위해 BookService를 애초에 소스코드 쪽에 작성했을 것 같다는 생각이 드는데, 테스트 코드 쪽에 작성하신 이유는 단순 해당 코드의 목적이 테스트이기 때문인가요? 다른 이유가 있는지 궁금합니다.  감사합니다.

1
Truestar 프로필

메서드 invoke 시 3 dot 인수(int ... ints) 타입설정 는 어떻게 처리하는지요? Truestar 4달 전
안녕하세요 기선님!강의 도중에 웃으실때마다 저도 덩달아 웃게됩니다ㅎ미리 짜보고 애러나면 같은 애러를 같이 내어주셔서 그때그때 잡아주시거든요 ㅎㅎㅎ당연 의도하신거라 믿고 열심히 응용하고있어요^^그래서 저의 의문점은요..ㅎ "3 dot parameter method invoke" 문장으로구글링으로  로 찾아보긴 했지만 맘에드는 결과물이 없더라구요.. 다중인수 메서드를 invoke 할 경우  // Book 클래스 public int sum(int ... ints) { return Arrays.stream(ints).sum(); } // App.main() // 이부분에서 '잘못된 인자 개수 예외' 가 나더라구요.. bookClass.getDeclaredMethod("sum", int[].class); sum.invoke(book, 1, 2, 3, 4, 5 ) // 예외 핵심구문 Exception in thread "main" java.lang.IllegalArgumentException: wrong number of arguments 그래서 메서드 파라미터가  3 dot 인수의 경우는 int[].class 가 아니고 어떻게 지정해야 할까요? 읽어주셔서 감사합니다.

2
sanghyun Kim 프로필

스트림 관련 질문 sanghyun Kim 4달 전
안녕하세요 자바8 강의를 듣다가 궁금한게 있어서 질문드립니다. list.forEach()와 list.stream().forEach()의 차이가 있나요? 결과값은 같은데 예제 코드를 따라하다가 저는 list.forEach()로 하고 있었는데 강의를 보니까 list.stream().forEach()를 사용하셔서요

1

49,500원

내 목록 추가 830 공유
지식공유자 : 백기선
총 24개 수업˙총 4시간 36분
평생 무제한 수강
수료증 발급 강의
초급 대상
이 강의는 멘토링 신청이 가능합니다.
멘토링은 수강 신청과 별개로 운영되며, 수강생이 아니어도 신청할 수 있습니다.
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스