1.6.1. 형 ¶
- Java , Java 하 하 한 하 해
- Java , Java 한 폭 퓨학 해 탕 하 하 해
- 한 행해, practical하 pragmatic한 하 함.
- 했 풋한 하 함 하 해
3.2. 2012 5 12 ¶
- SpringSource Tool Suite(Eclipse IDE) 트 한 했.
- Eclipse JDT Maven 해.
- 클 하 modifier .
- public, protected, private, (none)
- abstract, final, static
- public, protected, private, (none)
3.2.1. ¶
- static modifier 해 하 하 해 . static 통해 함 static 향 형 해 static 함 했. object.method(message) -> MyType::method(object, method) oop 해. 파 (self) ? -
- static . StaticInitializer - 혁
3.3. 2012 5 19 ¶
- Singleton 패 lazy initialization 해 했.
- 티 환 synchronized modifier 한 화 해 했.
- 화 하 하 한 DCL 패 펴 Java 5 volatile modifier 해할 .
- 티 환 synchronized modifier 한 화 해 했.
- Serializable 페 ObjectOutput, ObjectInput 한 화, 화 해 했.
- transient modifier VM 화 할 , Externalizable 페 하 화, 화 할 .
- transient modifier VM 화 할 , Externalizable 페 하 화, 화 할 .
- JNI 해 티 하 함 호할 .
- native modifier 함 페 할 , , 했.
- native modifier 함 페 할 , , 했.
- 해 .
- 표 String 클 , 하 펴.
- 한 String 활 .
- 한 String 활 .
- 표 String 클 , 하 펴.
3.3.1. ¶
- String..! 트 편하 편했 한 ..-태
- c++ 호 mutex critical section synchronized 해 할 했. os 티 티 해 . 함 호 한 synchronized(this){ ... } . 페 플 한 화 하 클 할 했. -
- synchronized 하 하 히 . 히 하 . -
3.4. 2012 5 26 ¶
- interface
- nested class
- static nested class
- inner class
- annonymous inner class
- static nested class
- up 합dw (cohesion&coupling)
- SOLID SOLID Wiki
- SRP (Single responsibility principle)
- OCP (Open/closed principle)
- LSP (Liskov substitution principle)
- ISP (Interface segregation principle)
- DIP (Dependency inversion principle)
- SRP (Single responsibility principle)
- DRY DRY Wiki
- dont repeat yourself 했? - 혜
- 하; 해 -_-a -
- url ' ... - 혜
- url ' ... - 혜
- 하; 해 -_-a -
- dont repeat yourself 했? - 혜
3.4.1. ¶
- 6 해 .. 하 --; .. 평 하 ;; -태
- + 향 . (builder 패, ) 확하 합. 흐한 . interface, 한 해 험 하 ;;; 한 한 해 . 트 했. 하 . 하 해 클 하 했 해 할 . ㅠㅠ 하( or ) 히 하 . . DIP Logic native API 화 히 회 . . -
3.5. 2012 6 2 ¶
- Serialize
- Abstraction layer
- Abstraction layer
- Inner Class, Nested Class(), Local Class, Static Inner Class
- Iterator (java.util)
- interface
- generics
- Collection 화, 회, O(1), 하 한 thread safe
- but 화
- interface
- Iterable (java.lang)
- Iterator Iterable 했 하
- Comparable
- for Sorting.. stable, unstable
- for Sorting.. stable, unstable
3.5.1. ¶
- Inner Class Nested Class Encapsulation 확, , 클 파 한 . 하 Event핸 하.
Inner Class this Inner Class 합. Inner Class 포함하 Class this( 함) 클.this .
Iterator Util Iterable java.lang 패키( 패키 하 type 패키 java.lang) 포함 interface 통한 확 (index) 통한 Iterator Java . DB List 한 하 100 템 하 Loading한 . 하 Loading한 하 . Iterator 통해 Loading 편하 해 해. 하 히 iterator 하 itrable 페 Java 패키 Iterable 통해 Custom하 하합=ㅂ= Generic Sorting . -
3.6. 2012 7 20 ¶
- Java Generics
- run-time type erasure
-
- run-time type erasure
- Reflection API
- parameter .
- public field
- getter, setter 하 field
- @property annotation
- public field
- parameter .
- Generics Reflection 한 ObjectMapper
- Map <-> Object 환
- Map <-> Object 환
3.6.1. ¶
- 플 map -> object object -> map 하 해. 클 해 getClass, getFields, getMethods 해 private, . getter 해 get 하 함 하 해 method.getParameterTypes().length == 0 크해 할 . mapToObject objectToMap type erase Class<T> expectedType = T.class; 할 map.put(field.getName(), (T)field.get(obj)); 형환 해 Class<T> valueType valueType.isAssignableFrom(field.getType()) 크 하 . -
3.9. 2012 8 17 ¶
- ObjectMapper (cont.)
- Maven - (dependency) 해 툴. pom.xml 트 (repository) 파 포함 .
- m2e plugin - maven eclipse 하 maven eclipse 해 해 하 plugin.
- 파(jar) (Run as -> Maven Install) - ObjectMapper 클트 트 .
- Maven Build
- resources - src/main/resources 파 target/classes . javac 하 .
- mvn compile - src/main/java 파 파해 .class target/classes .
- test-resourecs - src/test/resources 파 target/test-classes .
- mvn test - 파 하 src/test/java 파해 target/test-classes. @Test 행 <scope>
- mvn package - 패키. pom.xml <packaging> 파 . jar파 .
- mvn install - 패키 파, pom .m2/repository .
- mvn deploy - 트 포 파 포.
- mvn release
- resources - src/main/resources 파 target/classes . javac 하 .
- resolve dependencies from workspace projects
- maven install 하 클트 트 .
- 크 maven 크페 트 할 해.
- maven 클 할 .
- maven install 하 클트 트 .
- m2e plugin - maven eclipse 하 maven eclipse 해 해 하 plugin.
3.10. 2012 9 22 ¶
- Properties
- map 한 .
- 함 getProperty get 한.
- getProperty String 환, get Object 환 - Object String 형환 하 해 getProperty 했.
- 함 getProperty get 한.
- map 한 .
- Reader InputStream
- . 해하 해 Reader, Writer . Reader 한.
- . 해하 해 Reader, Writer . Reader 한.
- JDBC - 한 표 페
- java.sql.driver 페 com.mysql.jdbc.driver 클 , java.sql.connection 페 com.mysql.jdbc.connection 클
- driver connection 해 abstract factory - .
- driver connection 해 abstract factory - .
- java.sql.driver 페 com.mysql.jdbc.driver 클 , java.sql.connection 페 com.mysql.jdbc.connection 클
java.sql.Driver driver = new com.mysql.jdbc.Driver(); java.sql.Connection conn = driver.connect("", null); // com.mysql.jdbc.connection 환. // driver conn
- abstract factory 해 페 api 한.
- Statement, ResultSet 해 페 한 abstract factory .
- driver new com.mysql.jdbc.Driver(); Class.forName("com.mysql.jdbc.Driver"); 한 파 .
Driver driver = new com.mysql.jdbc.Driver(); // 클 new 하 Class<Driver> clazz = (Class<Driver>) Class.forName("com.mysql.jdbc.Driver"); Driver driver = clazz.newInstance(); // .
- 황 해 험해 .
- factory method 패 - factory . 하 함. ("com.mysql.jdbc.Driver") .
- sqlite
- dbms dbms 플 하 .
- 환 os 호 해 하 . 환 하.
- dbms dbms 플 하 .
3.11. 2012 10 6 ¶
- DataSource DriverManager
- Persistence Layer
- persistance layer .
- 한 하 .
- 한 화해 .
- persistance layer .
- DataBase 화(Normalize)
- 테 할 테 해 테 .
- 하 트 해 하 트 .
- 테 트 .
- 트 트 .
- 화 할 테 .
- 테 할 테 해 테 .
- Builder 패
- 태 키 . 하 . .
- 태 키 . 하 . .
Resource resource = new JdbcResource.Builder() .setUrl("jdbc:mysql://zeropage.org:3306/test") .setUser("test") .setPassword("test") .setTable("people") .create();
- 해 하 한.
- , set private함 . 할 환 해.
- - 택할 .
3.12. 2012 10 20 ¶
- uri url
- uniform resource identifier locatord . uri url 큰 .
- map equals 할 url 하 uri 한.
- url equals 하 하 하. 해 할 url 하 .
- url uri toURI, toURL 한.
- uri url 하.
- uniform resource identifier locatord . uri url 큰 .
- abstract factory패 factory method 패
- 호하 , 향 abstract factory
- factory method
- 호하 , 향 abstract factory
- abstract factory 확 패. 크 api 확 하 플 확 할 .
- PushbackInputStream 클
- lookahead inputstream. input stream 한 read하 lookahead 한 read한 read하 태 .
- inputstream 한 환 inputstream .
- lookahead inputstream. input stream 한 read하 lookahead 한 read한 read하 태 .
- strategy 패, command 패, template method 패
- 행 확하 한 패.
- strategy 패 - command 패
- strategy 패 (logic) 행 확하 해 한.
command 패 .
- strategy 패 (logic) 행 확하 해 한.
- strategy 패 - template method 패
- strategy 패 페 클 (implementation)하 행 확한.
template method 패 클 행 해하 + 해 확한.
- strategy 패 페 클 (implementation)하 행 확한.
- 행 확하 한 패.
3.13. 2012 11 3 ¶
- ~let : 테 클 해 . activity 행 하 . 한 .
- applet : 플() .
- servlet : . 파 ( http request 해.) .
- portlet : 포탈( ) .
- applet : 플() .
- javaSE, javaEE : java펙 합.
- javaSE : JLS(java language specification) + java api 킴. 한 . hotspot JVM .
- javaEE : SE 표 펙 javaEE 함. javaSE . javaEE 펙 servlet. tomcat glassfish . tomcat servlet 펙 키 javaEE 펙 키 glassfish javaEE 펙 킨.
- tomcat servlet container glassfish WAS(web application server) 해한.
- javaSE : JLS(java language specification) + java api 킴. 한 . hotspot JVM .
- DIP (depencency inversion principle) : 클 할 클 하 화 페 통해 하 하 패.
- JPA 클 eclipse link hibernate , 할 클 통해 하 JPA 페 통해 하 하 클 .
- JPA 클 eclipse link hibernate , 할 클 통해 하 JPA 페 통해 하 하 클 .
- tomcat servlet 포
- tomcat servlet 포하 servlet 하 클 tomcat 클패 한. java tomcat 행 클패 클 할 .
- servlet war(web archive)파 tomcat watcher war파 클 해 .
- servlet 클 : jvm tomcat main클 한 -> deployment description servlet클 tomcat 한.
- tomcat servlet 포하 servlet 하 클 tomcat 클패 한. java tomcat 행 클패 클 할 .
- servlet 행
- template method 패 . protected service method template method 해 abstract 하 호 해 해 하 함.
- init : servlet 행 method. init 행 servlet .
- destoy : servlet 행 method.
- service : request servlet service method 행킴. service(req, res) req 통해 request res . 해 do* method(doGet, doPost ) 해.
- do* : 해 httpMethod 한 해 method.
- template method 패 . protected service method template method 해 abstract 하 호 해 해 하 함.
3.14. 2012 11 10 ¶
- jar war
- war : src/main webapp 폴 파 root .
- src/main/java, src/main/resources war WEB-INF 폴 classes 하 .
- src/main/java, src/main/resources war WEB-INF 폴 classes 하 .
- jar : src/main/java, src/main/resources 폴 root .
- war : src/main webapp 폴 파 root .
- http servlet
- http(http://hostname/contextPath/path?params) -> contextPath 해하 war -> war web.xml <servlet-mapping> 해 핑 servlet . -> 해하 servlet defalut servlet
- http(http://hostname/contextPath/path?params) -> contextPath 해하 war -> war web.xml <servlet-mapping> 해 핑 servlet . -> 해하 servlet defalut servlet
- servlet filter chain
- request servlet filter chain servlet 해 .
- request -> Servlet Container -> Filter -> Servlet
- response <- Servlet Container <- Filter <- Servlet
- request servlet filter chain servlet 해 .
- servlet thread safety
- servlet thread per request 하 servlet 호 .
- filter, servlet 하 url 핑해 . thread-safe 해 한.
- thread-safe하 해 stateful해 . Servlet stateless하 stateful한 stateful하 . 하 하 하.
- : 함 하 하 하,
- servlet thread per request 하 servlet 호 .
3.15. 2012 12 23 ¶
- IME(Input Method Editor) - OS key code - mapping 합('ㅁ' + 'ㅏ' ) 해 트. Sublime 해 ...
- JNI(Java Native Interface)
- Java (C) 호해 할 해 .
- 파 load 해하 .
- .java 파 클 native modifier 하, .c, .cpp 파 Java 호 함 한. System.loadLibrary(...) 함 해 .dll 파(Windows ) .so(shared object) 파(Linux ) 한.
- 파 함 한 naming convention 해 하, 해 한. 한 Java 호환키 해 C, C++ 한 해 한. 해 jni.h .
- 하 naming convention 함 하 native .class 파 javah convention 킨 .h 파 .
- .cpp 파 했 하 extern "C" 함 호 (__cdecl, __stdcall) . extern "C" __cdecl 함 호하 한.
- 파 함 한 naming convention 해 하, 해 한. 한 Java 호환키 해 C, C++ 한 해 한. 해 jni.h .
- Java (C) 호해 할 해 .
3.16. 2013 1 6 ¶
- JVM & Java Byte Code
- JVM - stack-based machine
- register-based machine operand . register-based register operand stack-based stack pop해 .
- stack-based machine register-based machine 해 push, pop register 하 해 .
- prefix 한. http://en.wikipedia.org/wiki/Java_bytecode#Instructions
- invoke*
- invokespecial - vtable lookup 하 호하 . 호해 하 해 . new, private method, super .
- invokevirtual - vtable lookup 한. . 해한.
- invokestatic - static 호. this .
- invokeinterface - virtual . interface 호하 한.
- invokespecial - vtable lookup 하 호하 . 호해 하 해 . new, private method, super .
- if - if* if_* .
- if* - operand 하 해 0 하 . ifeq(0 ), ifne(0 ) .
- if_* - stack operand 하 . if_icmpeq(형 ) .
- if* - operand 하 해 0 하 . ifeq(0 ), ifne(0 ) .
- register-based machine operand . register-based register operand stack-based stack pop해 .
- JVM - stack-based machine
- 11 10 ? - 혜