E D R , A S I H C RSS

작은자바이야기

1.

  • ?
  • 2012 Java !

1.1. ?

  • :
  • 튜티: , , , , ,
    • . .
    • Java 2학 1학
      • Java .
    • -
    • 한 형편 .. 흥 . -

1.2. ?

  • 1

1.3. ?

1.4. ?

  • Java

    • Java Technology
    • Java
    • Java
      • Java

      • Annotations Generics

    • Java API

      • Servlet Servlet
      • Java

      • 키텍
        • MVC (DB)

    • Java





        • Mock
    • Android 플

1.5. ?





    1. Effective Java Second Edition by Josh Bloch

1.6. ?

  • ?

1.6.1.

  • Java , Java
  • Java , Java
  • 행해, practical하 pragmatic한 함.
  • 풋한

1.6.2.

  • ( ) , 활
  • , ''
  • , 확히 ''
  • 트(?)
  • " 1학 1 해" - .

1.6.3.

  • .
  • , .
  • 트, mock

1.6.4.



  • ..

1.6.5.

  • .
  • .
  • TDD 패해 -_-;;; TDD , 팩토 .

1.6.6.

  • .
  • .
  • .
    행학..

3.


3.1. 2012 5 5


    • "?", "?", "?" , 튜티 "?", "?" .
    • , .
  • "?" 통해 , .

3.2. 2012 5 12

3.2.1.


3.3. 2012 5 19

  • Singleton lazy initialization .
    • synchronized modifier .
    • 한 DCL 패 Java 5 volatile modifier .
  • Serializable ObjectOutput, ObjectInput 화, .
    • transient modifier VM , Externalizable 화, .
  • JNI .
    • native modifier , , .
  • .
    • 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
  • 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)
  • DRY DRY Wiki

3.4.1.

  • 6 .. 하 --; .. ;; -
  • + . (builder 패, ) 확하 . . interface, ;;; . . . . ㅠㅠ ( or ) . . DIP Logic native API . . -

3.5. 2012 6 2

  • Serialize
    • Abstraction layer
  • Inner Class, Nested Class(), Local Class, Static Inner Class
  • Iterator (java.util)
    • interface
    • generics
    • Collection 화, 회, O(1), 한 thread safe
    • but
  • Iterable (java.lang)
  • Iterator Iterable
  • Comparable
    • 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

  • Reflection API
    • parameter .
      • public field
      • getter, setter field
      • @property annotation
  • Generics Reflection ObjectMapper
    • 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.7. 2012 7 27

  • Annotation
    • Annotation
      • Annotation .
      • @Target : Annotation . (ElementType.TYPE, ElementType.METHOD)
      • @Retention Annotation . (RetentionPolicy.RUNTIME)

    • java.beans
      • Introspector : 클 BeanInfo .
      • BeanInfo, PropertyDescriptor 해 getter, setter
    • apache.commons.lang
      • util함 함. 한 .
      • google guava 함.
      • generics 함. static method .

3.7.1.

  • prototype 편하 . . Annotation . -

3.8. 2012 8 3

  • ObjectMapper (cont.)
    • Class mapping by annotation
      • Annotation on concrete class
      • Annotation on superclass
      • Initilize ObjectMapper at runtime
    • Scan annotated classes in package
    • Pros and cons to use annotations
    • Concurrency
      • java.util.concurrent(.atomic)
    • LRU cache using LinkedHashMap

3.9. 2012 8 17

  • ObjectMapper (cont.)
    • Data - FactoryMethod . factory 통해 . new .
      • CsvData - data . .
  • Maven - (dependency) 툴. pom.xml (repository) 포함 .
    • m2e plugin - maven eclipse maven eclipse plugin.
    • (jar) (Run as -> Maven Install) - ObjectMapper .
      • Windows7 \.m2\groupid\artifactid jar 파 .
      • pom.xml maven build 행.
    • 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
    • resolve dependencies from workspace projects
      • maven install .
      • maven .
      • maven .

3.10. 2012 9 22

  • Properties
    • map .
      • getProperty get .
      • getProperty String 환, get Object 환 - Object String 해 getProperty .
  • Reader InputStream
    • . Reader, Writer . Reader .
  • JDBC -
    • java.sql.driver com.mysql.jdbc.driver 클 , java.sql.connection com.mysql.jdbc.connection 클
      • driver connection abstract factory - .

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") .
  • DriverManager driver connection connection . DataSource.
  • sqlite
    • dbms dbms .
    • os . .

3.11. 2012 10 6

  • DataSource DriverManager
    • DataSource DriverManager ( set함 )
    • DataSource 한 형태
    • DriverManager .
  • Persistence 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 .
  • abstract factory패 factory method 패
    • , abstract factory
    • factory method
  • abstract factory . api .
  • PushbackInputStream
    • lookahead inputstream. input stream read하 lookahead read한 read하 .
    • inputstream inputstream .
  • strategy 패, command 패, template method 패
    • 한 패.
    • strategy 패 - command 패
      • strategy 패 (logic) .
        command 패 .
    • strategy 패 - template method 패
      • strategy 패 (implementation)하 .
        template method 패 + .

3.13. 2012 11 3

  • ~let : . activity . .
    • applet : () .
    • servlet : . ( http request .) .
    • portlet : 포탈( ) .
  • 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).
  • DIP (depencency inversion principle) : 통해 .
    • 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 .
  • 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.

3.14. 2012 11 10

  • jar war
    • war : src/main webapp 폴 root .
      • src/main/java, src/main/resources war WEB-INF 폴 classes .
    • jar : src/main/java, src/main/resources 폴 root .
  • http servlet
  • servlet filter chain
    • request servlet filter chain servlet .
    • request -> Servlet Container -> Filter -> Servlet
    • response <- Servlet Container <- Filter <- Servlet
  • servlet thread safety
    • servlet thread per request servlet .
    • filter, servlet url 핑해 . thread-safe 해.
    • thread-safe하 stateful해 . Servlet stateless하 stateful한 stateful하 . .
    • : ,
      ThreadLocal . ThreadLocal .

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.

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 .
      • if - if* if_* .
        • if* - operand 0 . ifeq(0 ), ifne(0 ) .
        • if_* - stack operand . if_icmpeq( ) .

  • 11 10 ? -
    • ;;; -

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:30:42
Processing time 0.1483 sec