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.

  • 게 공.
  • .
  • .
    ..

2.


3.1. 2012 5 5


    • "?", "게?", "?" 고, "?", "게?" .
    • 각각 , 견과 .
  • "?" 고, .

3.1.1.


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
  • updw (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.1293 sec