Effective Java라는 책이 있습니다.
Java에서는 데이터 바인딩의 카테고리가 다릅니다. 가장 진보 된 모델은 JDO, JPA 등과 같은 객체 모델입니다. 객체는 기본적으로 객체의지도를 사용하여 테이블로 이동하며, 투명하게 처리되므로 데이터베이스를 직접 만질 수 없습니다. 또 하나의 예는 JDO가 좋은 예인 일반적인 "객체가 행에 바인딩"하는 기법입니다. 마지막으로 JDBC를 사용하는 데이터베이스를 직접 처리합니다. 코드 논리에 가장 적합한 도구를 사용하십시오.
일반적으로 Java를 사용하면 "한 가지 해결책"환경이 아닙니다. 문제 중 일부는 다른 결과를 얻기 위해 여러 방법으로 여러 번 해결되었습니다.
"Managed Extensibility Framework"는 J2EE 서버 개념의 미묘한 사본처럼 들립니다. J2EE는 지난 10 년 동안 적어도 세 가지 주요 개정을 겪었습니다. J2EE를 사용하려면 "컨테이너"라고하는 래퍼 내의 항목에 서비스를 제공해야합니다. 즉, 컨테이너 서비스 계약을 충족시키기 위해 코드를 수정해야합니다. 약간의 선행 학습이 있지만 일단 환경을 이해하면 어렵지 않습니다. 또한 전체 J2EE 환경을 사용할 필요가 없으며 J2EE 서버에서 제공하는 솔루션에 자체 솔루션을 내장 할 수 있습니다. 그것은 선택이고 타입 정렬을 선택합니다. 귀중한 작은 것이 당신에게 강제됩니다.
J2EE는 J2EE 서버와 독립적으로 살아갈 수있는 많은 기업 기술을 설명하기 때문에 J2EE 환경이 마음에 들지 않는다면 (어떤 이유로) 항상 JAR 파일을 포함하고 J2EE없이 라이브러리를 사용할 수 있습니다 섬기는 사람.
초기 J2EE 서버가 너무 제한적이어서 Spring이라는 거의 J2EE 서버를 사용하기로 결정한 사람들이 있습니다.J2EE 웹 컨테이너는 Java 초기 장면에서 매우 일찍 도착 했으므로 Tomcat 또는 Jetty와 같은 "웹 컨테이너 전용"서버를 사용할 수 있습니다.
Java에서는 가비지 컬렉터에 대한 문서가 더 많을 수 있지만 그 행동을 덜 처리해야합니다. Java의 가비지 컬렉터는 일반적으로 훨씬 더 잘 동작하며, 때때로 부분적으로 .net의 가비지 컬렉터를 만드는 경향이있는 포인터 지원을 처리 할 필요가 없습니다.
그건 그렇고, 당신이 수집하기를 원하는 것을 비 참조하십시오. 논리가 HashMap의 항목을 캐시로 저장하는 경우 가비지 콜렉션에서 참조로 간주되지 않는 SoftReferences 사용을 고려하십시오. Java는 개수를 참조하지 않으므로 순환 참조에 대해 걱정할 필요가 없습니다. 순환 참조를 참조 해제 할 수 있으며 순환 참조가 모두 수집됩니다.
GC가 사용하는 알고리즘은 메모리 가용성에 따라 변경됩니다. 메모리 사용량이 적은 상황에서는 새로운 페이지로 라이브 객체를 복사하고 이전 페이지를 비울 것입니다 (압축은 거의 무료입니다.) 메모리가 많은 경우에는 다른 가비지 컬렉터의 전형적인 마크, 스윕 및 컴팩트 사이클을 사용합니다. 또한 현재 실행중인 프로그램에서 사용량을 확인해야하는 빈도로 객체를 주문하는 3 세대 섹션에서 메모리를 스테이지합니다.
모두가 말하듯이 Android는 Java 언어를 사용하지만 실제로는 그렇지 않습니다. JVM을 실행하면 클래스 로더와 클래스 파일 형식을 크게 변경하는 JVM 작동 방식과 비슷합니다. 즉, Davlik 가상 머신이 작동하고 JVM과 다릅니다.
재미 있어요! 당신이 아마 익숙한 자바 땅에서 더 많은 선택입니다; 그러나 가장 많이 사용되는 Java 도구 중 많은 부분이 .NET 토양으로 포팅되어 있으므로 외국인 전체 풍경을 찾을 수 없습니다.
귀하의 질문과 제목이 일치하지 않습니다. Java에서 사용할 리소스를 묻는 것처럼 보이지만 Windows CE와 Android의 리소스를 비교하면 더 많은 비교가 가능합니다. 가능한 많은 것들이 있습니다. 안드로이드에서 사용할 수없는 자바 용 옵션이있는 것처럼 Windows CE로는 할 수없는 .NET으로 할 수 있습니다. –
그건 내가 묻는 것이 전혀 아닙니다. 내가하는 유일한 Java 프로그래밍이 Android 용이라면 Java 지식으로 더 나아 가기 위해 내가 할 수있는 일을 묻고 있습니다. Windows에서 모바일 기능이 거의 없으므로 모바일과 모바일 간의 문제는 아닙니다. 나는 C#을 destkop, 웹, 서버, WPF, Silverlight, ASP.Net, 당신의 이름으로 사용합니다 ... 그래서 새로운 프레임 워크 등을 유지할 수있는 많은 기회를 갖게되었습니다. 모범 사례 등을 배우십시오. 내 질문은 - 어떻게 안드로이드 개발의 컨텍스트에서만 그것을 사용하여 Java에서 해당 수준에 올라갈 수 있습니다. – Rich