ݺߣ

ݺߣShare a Scribd company logo
JDK 7 출시 기념 (2011.7)JDK 7 소개 #6 기타 기능 소개김용환knight76.tistory.comKnight76 at gmail.com1
XML stack 버전 변경JAXP 1.4http://jaxp.java.net/1.4/ReleaseNotes.htmlJAXB 2.2ahttp://jaxb.java.net/nonav/2.2/docs/JAX-WS 2.2http://jax-ws.java.net/nonav/2.2/docs/ReleaseNotes.htmlhttp://jcp.org/en/jsr/detail?id=224
JDBC 4.1 업그레이드Derby가 DataSource에 추가Autoloading of JDBC driversSQLExceptions구체화많은 WrappersStatement eventsPooledConnection에 addStatementEventListener / removeStatementEventListener추가Streaming APIsInputStream과java.io.Reader에 set/update 추가New methodstry with resourcetry (Statement sampleStmt = sampleCon.createStatement())
RowSet 1.1RowSetFactory, RowSetProviderConnection과 Statement 없이 rowset을 쉽게 가져올 수 있음개발자는 Connection, Statement에 대한 close 할 필요가 없음public void rowsetTest(String userName, String password) throws SQLException {RowSetFactoryexampleRowSetFactory = null;JdbcRowSetrowSet= null;exampleRowSetFactory= RowSetProvider.newFactory();//com.sun.rowset.RowSetFactoryImplrowSet= exampleRowSetFactory.createJdbcRowSet();rowSet.setUrl("jdbc:sampleDriver:sampleAttribute");rowSet.setUsername(userName);rowSet.setPassword(password);rowSet.setCommand("select id, name, addrfrom student");rowSet.execute();}
Class-loaderClassLoader API 수정 / non-hierarchical class-loader 상태에서 데드락을 피할 수 있게 함http://download.oracle.com/javase/7/docs/technotes/guides/net/ClassLoader.htmlhttp://download.oracle.com/javase/7/docs/technotes/guides/lang/cl-mt.htmlClassLoaderObject getClassLoadingLock(String className)void registerAsParallelCapable()URLClassLoaderInputStreamgetResourceAsStream(String name)void close()
JVM Performance 향상JDK6 후반 버전부터 이미 적용http://download.oracle.com/javase/7/docs/technotes/guides/vm/performance-enhancements-7.html옵션-server -XX:+TieredCompilation.-XX:+UseCompressedOops-XX:+UseNUMA-XX:+DoEscapeAnalysis
GCG1CMS을 대체하기 위한 알고리즘JDK6 후반부터 나옴http://download.oracle.com/javase/7/docs/technotes/guides/vm/G1.html
IONETTLS 1.2SCTP (Stream Control Transmission Protocol)http://openjdk.java.net/projects/sctp/javadoc/b10/index.htmlSDP (Sockets Direct Protocol)access to high performance network connectionshttp://download.oracle.com/javase/tutorial/sdp/sockets/overview.html
Client (Graphics)Create new platform APIs for 6u10 graphics features Nimbus look-and-feel for Swing Swing JLayer component
Collections 추가IntefaceTransferQueue<E>extends BlockingQueue<E>message passing applications에 적합 (consumer/producer)
Collections 추가Class LinkedTransferQueue<E>extends TransferQueue<E>
java.util.Objects추가Static 메소드12
Strict class-file checkingJdk7 이후부터는 class 파일들은 모두 typechecking verifier로 verified 해야 함JSR 202 §4.11.1 (http://jcp.org/en/jsr/detail?id=202)4.11 Verification of class FilesJVM 스펙에서는4.10http://jcp.org/aboutJava/communityprocess/maintenance/jsr924/JVMSpec-JavaSE7-ChangeLog.htmlCompliance with JSR 202 (Java Class File Specification Update
JDK8 이후Language and VM support for modular programmingAnnotations on Java typesLanguage support for collectionsProject LambdaModularization (Project Jigsaw)Swing application frameworkSwing JDatePicker component
Java Platform Standard Edition 7 Documentationhttp://download.oracle.com/javase/7/docs/
End of Document
Ad

Recommended

Jdk 7 4-forkjoin
Jdk 7 4-forkjoin
knight1128
50 new features of Java EE 7 in 50 minutes
50 new features of Java EE 7 in 50 minutes
Antonio Goncalves
Java libraries you can't afford to miss
Java libraries you can't afford to miss
Andres Almiray
Spring & Hibernate
Spring & Hibernate
Jiayun Zhou
Getting started with Java 9 modules
Getting started with Java 9 modules
Rafael Winterhalter
Spring 4 - A&BP CC
Spring 4 - A&BP CC
JWORKS powered by Ordina
To inject or not to inject: CDI is the question
To inject or not to inject: CDI is the question
Antonio Goncalves
Software Testing - Invited Lecture at UNSW Sydney
Software Testing - Invited Lecture at UNSW Sydney
julien.ponge
Making Java more dynamic: runtime code generation for the JVM
Making Java more dynamic: runtime code generation for the JVM
Rafael Winterhalter
OSGi and Eclipse RCP
OSGi and Eclipse RCP
Eric Jain
How to Design a Great API (using flask) [ploneconf2017]
How to Design a Great API (using flask) [ploneconf2017]
Devon Bernard
What's new in Java EE 6
What's new in Java EE 6
Antonio Goncalves
Lean React - Patterns for High Performance [ploneconf2017]
Lean React - Patterns for High Performance [ploneconf2017]
Devon Bernard
Why Kotlin - Apalon Kotlin Sprint Part 1
Why Kotlin - Apalon Kotlin Sprint Part 1
Kirill Rozov
Java 7 LavaJUG
Java 7 LavaJUG
julien.ponge
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
julien.ponge
Sqladria 2009 SRC
Sqladria 2009 SRC
tepsum
Conf soat tests_unitaires_Mockito_jUnit_170113
Conf soat tests_unitaires_Mockito_jUnit_170113
SOAT
Java Libraries You Can’t Afford to Miss
Java Libraries You Can’t Afford to Miss
Andres Almiray
Threads v3
Threads v3
Sunil OS
Making the most of your gradle build - Gr8Conf 2017
Making the most of your gradle build - Gr8Conf 2017
Andres Almiray
Making the most of your gradle build - Greach 2017
Making the most of your gradle build - Greach 2017
Andres Almiray
201913046 wahyu septiansyah network programing
201913046 wahyu septiansyah network programing
wahyuseptiansyah
Stubる - Mockingjayを使ったHTTPクライアントのテスト -
Stubる - Mockingjayを使ったHTTPクライアントのテスト -
Kenji Tanaka
Hibernate
Hibernate
Sunil OS
Gradle talk, Javarsovia 2010
Gradle talk, Javarsovia 2010
Tomek Kaczanowski
Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기
JeongHun Byeon
Java Libraries You Can’t Afford to Miss
Java Libraries You Can’t Afford to Miss
Andres Almiray

More Related Content

What's hot (20)

Making Java more dynamic: runtime code generation for the JVM
Making Java more dynamic: runtime code generation for the JVM
Rafael Winterhalter
OSGi and Eclipse RCP
OSGi and Eclipse RCP
Eric Jain
How to Design a Great API (using flask) [ploneconf2017]
How to Design a Great API (using flask) [ploneconf2017]
Devon Bernard
What's new in Java EE 6
What's new in Java EE 6
Antonio Goncalves
Lean React - Patterns for High Performance [ploneconf2017]
Lean React - Patterns for High Performance [ploneconf2017]
Devon Bernard
Why Kotlin - Apalon Kotlin Sprint Part 1
Why Kotlin - Apalon Kotlin Sprint Part 1
Kirill Rozov
Java 7 LavaJUG
Java 7 LavaJUG
julien.ponge
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
julien.ponge
Sqladria 2009 SRC
Sqladria 2009 SRC
tepsum
Conf soat tests_unitaires_Mockito_jUnit_170113
Conf soat tests_unitaires_Mockito_jUnit_170113
SOAT
Java Libraries You Can’t Afford to Miss
Java Libraries You Can’t Afford to Miss
Andres Almiray
Threads v3
Threads v3
Sunil OS
Making the most of your gradle build - Gr8Conf 2017
Making the most of your gradle build - Gr8Conf 2017
Andres Almiray
Making the most of your gradle build - Greach 2017
Making the most of your gradle build - Greach 2017
Andres Almiray
201913046 wahyu septiansyah network programing
201913046 wahyu septiansyah network programing
wahyuseptiansyah
Stubる - Mockingjayを使ったHTTPクライアントのテスト -
Stubる - Mockingjayを使ったHTTPクライアントのテスト -
Kenji Tanaka
Hibernate
Hibernate
Sunil OS
Gradle talk, Javarsovia 2010
Gradle talk, Javarsovia 2010
Tomek Kaczanowski
Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기
JeongHun Byeon
Java Libraries You Can’t Afford to Miss
Java Libraries You Can’t Afford to Miss
Andres Almiray
Making Java more dynamic: runtime code generation for the JVM
Making Java more dynamic: runtime code generation for the JVM
Rafael Winterhalter
OSGi and Eclipse RCP
OSGi and Eclipse RCP
Eric Jain
How to Design a Great API (using flask) [ploneconf2017]
How to Design a Great API (using flask) [ploneconf2017]
Devon Bernard
Lean React - Patterns for High Performance [ploneconf2017]
Lean React - Patterns for High Performance [ploneconf2017]
Devon Bernard
Why Kotlin - Apalon Kotlin Sprint Part 1
Why Kotlin - Apalon Kotlin Sprint Part 1
Kirill Rozov
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Projec...
julien.ponge
Sqladria 2009 SRC
Sqladria 2009 SRC
tepsum
Conf soat tests_unitaires_Mockito_jUnit_170113
Conf soat tests_unitaires_Mockito_jUnit_170113
SOAT
Java Libraries You Can’t Afford to Miss
Java Libraries You Can’t Afford to Miss
Andres Almiray
Making the most of your gradle build - Gr8Conf 2017
Making the most of your gradle build - Gr8Conf 2017
Andres Almiray
Making the most of your gradle build - Greach 2017
Making the most of your gradle build - Greach 2017
Andres Almiray
201913046 wahyu septiansyah network programing
201913046 wahyu septiansyah network programing
wahyuseptiansyah
Stubる - Mockingjayを使ったHTTPクライアントのテスト -
Stubる - Mockingjayを使ったHTTPクライアントのテスト -
Kenji Tanaka
Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기
JeongHun Byeon
Java Libraries You Can’t Afford to Miss
Java Libraries You Can’t Afford to Miss
Andres Almiray

Viewers also liked (13)

Jersey framework
Jersey framework
knight1128
Spring MVC 3 Restful
Spring MVC 3 Restful
knight1128
2014년 3월호_미니 이그나이트 한컴 - 망하는 세가지 방법
2014년 3월호_미니 이그나이트 한컴 - 망하는 세가지 방법
Hancom Haansoft
Jdk(java) 7 - 5. invoke-dynamic
Jdk(java) 7 - 5. invoke-dynamic
knight1128
Apache Thrift
Apache Thrift
knight1128
Google Protocol buffer
Google Protocol buffer
knight1128
데이터 바인딩 ( Binding )
데이터 바인딩 ( Binding )
대열 김
Ad

More from knight1128 (7)

Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
knight1128
공유 Jdk 7-2-project coin
공유 Jdk 7-2-project coin
knight1128
공유 Jdk 7-1-short introduction
공유 Jdk 7-1-short introduction
knight1128
아마존 Aws 서비스_연구
아마존 Aws 서비스_연구
knight1128
속도체크
속도체크
knight1128
오픈소스를 활용한 Batch_처리_플랫폼_공유
오픈소스를 활용한 Batch_처리_플랫폼_공유
knight1128
Ssl 하드웨어 가속기를 이용한 성능 향상
Ssl 하드웨어 가속기를 이용한 성능 향상
knight1128
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
Hancom MDS Conference - KAKAO DEVOPS Practice (카카오 스토리의 Devops 사례)
knight1128
공유 Jdk 7-2-project coin
공유 Jdk 7-2-project coin
knight1128
공유 Jdk 7-1-short introduction
공유 Jdk 7-1-short introduction
knight1128
아마존 Aws 서비스_연구
아마존 Aws 서비스_연구
knight1128
오픈소스를 활용한 Batch_처리_플랫폼_공유
오픈소스를 활용한 Batch_처리_플랫폼_공유
knight1128
Ssl 하드웨어 가속기를 이용한 성능 향상
Ssl 하드웨어 가속기를 이용한 성능 향상
knight1128
Ad

Recently uploaded (20)

Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Alliance
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
High Availability On-Premises FME Flow.pdf
High Availability On-Premises FME Flow.pdf
Safe Software
“Addressing Evolving AI Model Challenges Through Memory and Storage,” a Prese...
“Addressing Evolving AI Model Challenges Through Memory and Storage,” a Prese...
Edge AI and Vision Alliance
Data Validation and System Interoperability
Data Validation and System Interoperability
Safe Software
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
Safe Software
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
Reducing Conflicts and Increasing Safety Along the Cycling Networks of East-F...
Reducing Conflicts and Increasing Safety Along the Cycling Networks of East-F...
Safe Software
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
Security Tips for Enterprise Azure Solutions
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
Muhammad Rizwan Akram
OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic
Mastering AI Workflows with FME - Peak of Data & AI 2025
Mastering AI Workflows with FME - Peak of Data & AI 2025
Safe Software
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Seminar: New Data: Passkey Adoption in the Workforce.pptx
FIDO Alliance
Enabling BIM / GIS integrations with Other Systems with FME
Enabling BIM / GIS integrations with Other Systems with FME
Safe Software
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
War_And_Cyber_3_Years_Of_Struggle_And_Lessons_For_Global_Security.pdf
biswajitbanerjee38
High Availability On-Premises FME Flow.pdf
High Availability On-Premises FME Flow.pdf
Safe Software
“Addressing Evolving AI Model Challenges Through Memory and Storage,” a Prese...
“Addressing Evolving AI Model Challenges Through Memory and Storage,” a Prese...
Edge AI and Vision Alliance
Data Validation and System Interoperability
Data Validation and System Interoperability
Safe Software
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
NTT DATA Technology & Innovation
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
“From Enterprise to Makers: Driving Vision AI Innovation at the Extreme Edge,...
Edge AI and Vision Alliance
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
FME for Good: Integrating Multiple Data Sources with APIs to Support Local Ch...
Safe Software
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
Reducing Conflicts and Increasing Safety Along the Cycling Networks of East-F...
Reducing Conflicts and Increasing Safety Along the Cycling Networks of East-F...
Safe Software
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc Webinar - 2025 Global Privacy Survey
TrustArc
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
ENERGY CONSUMPTION CALCULATION IN ENERGY-EFFICIENT AIR CONDITIONER.pdf
Muhammad Rizwan Akram
OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic

Jdk(java) 7 - 6 기타기능

  • 1. JDK 7 출시 기념 (2011.7)JDK 7 소개 #6 기타 기능 소개김용환knight76.tistory.comKnight76 at gmail.com1
  • 2. XML stack 버전 변경JAXP 1.4http://jaxp.java.net/1.4/ReleaseNotes.htmlJAXB 2.2ahttp://jaxb.java.net/nonav/2.2/docs/JAX-WS 2.2http://jax-ws.java.net/nonav/2.2/docs/ReleaseNotes.htmlhttp://jcp.org/en/jsr/detail?id=224
  • 3. JDBC 4.1 업그레이드Derby가 DataSource에 추가Autoloading of JDBC driversSQLExceptions구체화많은 WrappersStatement eventsPooledConnection에 addStatementEventListener / removeStatementEventListener추가Streaming APIsInputStream과java.io.Reader에 set/update 추가New methodstry with resourcetry (Statement sampleStmt = sampleCon.createStatement())
  • 4. RowSet 1.1RowSetFactory, RowSetProviderConnection과 Statement 없이 rowset을 쉽게 가져올 수 있음개발자는 Connection, Statement에 대한 close 할 필요가 없음public void rowsetTest(String userName, String password) throws SQLException {RowSetFactoryexampleRowSetFactory = null;JdbcRowSetrowSet= null;exampleRowSetFactory= RowSetProvider.newFactory();//com.sun.rowset.RowSetFactoryImplrowSet= exampleRowSetFactory.createJdbcRowSet();rowSet.setUrl("jdbc:sampleDriver:sampleAttribute");rowSet.setUsername(userName);rowSet.setPassword(password);rowSet.setCommand("select id, name, addrfrom student");rowSet.execute();}
  • 5. Class-loaderClassLoader API 수정 / non-hierarchical class-loader 상태에서 데드락을 피할 수 있게 함http://download.oracle.com/javase/7/docs/technotes/guides/net/ClassLoader.htmlhttp://download.oracle.com/javase/7/docs/technotes/guides/lang/cl-mt.htmlClassLoaderObject getClassLoadingLock(String className)void registerAsParallelCapable()URLClassLoaderInputStreamgetResourceAsStream(String name)void close()
  • 6. JVM Performance 향상JDK6 후반 버전부터 이미 적용http://download.oracle.com/javase/7/docs/technotes/guides/vm/performance-enhancements-7.html옵션-server -XX:+TieredCompilation.-XX:+UseCompressedOops-XX:+UseNUMA-XX:+DoEscapeAnalysis
  • 7. GCG1CMS을 대체하기 위한 알고리즘JDK6 후반부터 나옴http://download.oracle.com/javase/7/docs/technotes/guides/vm/G1.html
  • 8. IONETTLS 1.2SCTP (Stream Control Transmission Protocol)http://openjdk.java.net/projects/sctp/javadoc/b10/index.htmlSDP (Sockets Direct Protocol)access to high performance network connectionshttp://download.oracle.com/javase/tutorial/sdp/sockets/overview.html
  • 9. Client (Graphics)Create new platform APIs for 6u10 graphics features Nimbus look-and-feel for Swing Swing JLayer component
  • 10. Collections 추가IntefaceTransferQueue<E>extends BlockingQueue<E>message passing applications에 적합 (consumer/producer)
  • 13. Strict class-file checkingJdk7 이후부터는 class 파일들은 모두 typechecking verifier로 verified 해야 함JSR 202 §4.11.1 (http://jcp.org/en/jsr/detail?id=202)4.11 Verification of class FilesJVM 스펙에서는4.10http://jcp.org/aboutJava/communityprocess/maintenance/jsr924/JVMSpec-JavaSE7-ChangeLog.htmlCompliance with JSR 202 (Java Class File Specification Update
  • 14. JDK8 이후Language and VM support for modular programmingAnnotations on Java typesLanguage support for collectionsProject LambdaModularization (Project Jigsaw)Swing application frameworkSwing JDatePicker component
  • 15. Java Platform Standard Edition 7 Documentationhttp://download.oracle.com/javase/7/docs/