Contents
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) 과 ? -
- Python PEP 권 그 견 겁. ' 그 ' 고, '간 '. 고. --NeoCoin
- " static" 군. object method() (static Java ), method() object . 그까 object 과 , 구 implicit argument object(=this) override 기. (Python formal parameter self explicit게 고 겠.) -
- Python PEP 권 그 견 겁. ' 그 ' 고, '간 '. 고. --NeoCoin
- static . StaticInitializer -
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 - 권
- ; 그 -_-a - 권
- dont repeat yourself 걸 걸고 ? -
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 ? -