>  기사  >  백엔드 개발  >  PHP 프로그래머를 위한 신속한 Java 개발

PHP 프로그래머를 위한 신속한 Java 개발

小云云
小云云원래의
2017-12-06 10:29:522307검색

PHP 프로그래머는 마치 우리가 돋보기로 Java를 배우는 것처럼 빠르게 Java를 개발합니다. 오랜 세월의 개발 끝에 Java는 매우 거대하다고 할 수 있습니다. 새로운 언어를 배우는 경우에도 마찬가지입니다. 매우 방대하고 포괄적인 온라인 튜토리얼이 많이 있습니다. 일반적으로 프로젝트 개발에 정식으로 참여하려면 30~60시간 동안 체계적으로 공부해야 합니다. 기본은 매우 중요하지만, 기본을 너무 많이 배우면 학습의 재미와 자신감을 잃게 됩니다. 실제로 프로젝트 후에 많은 지식 포인트가 만들어질 수 있습니다. 주문형 학습은 스스로 학습하는 가장 좋은 방법입니다.

PHP 프로그래머를 위한 신속한 Java 개발

예를 들어 해시 분포, 해시 충돌, 해시맵의 동적 확장 등은 초기 단계에서 추가 개선을 위해 이해해야 할 사항입니다. 해시맵으로 하세요.

익숙한 것들을 구현하는 것을 지향합니다

예를 들어 웹 백엔드 API 개발을 할 때 흔히 사용하는 루프/반복, 조건 판단, 추가, 삭제, 변경부터 시작합니다. 그렇다면 PHP로 아주 쉽게 할 수 있는 것들을 자바를 사용하여 빠르게 구현할 수 있을까요?

이것은 우리의 자신감을 빠르게 향상시키는 데 도움이 됩니다.

유추 학습 방법을 활용하세요

PHP에서 구현하는 방법은 Java에서 다시 구현하면 됩니다.

마지막으로 시스템을 깊이 연구하세요

몇 가지 작은 데모를 구현한 후 다른 사람의 프로젝트를 참조할 수 있습니다. 다른 사람의 프로젝트를 처음부터 보기만 하면 다른 사람이 무엇을 하고 있는지 전혀 알 수 없을 수도 있습니다. 예를 들어 다른 사람이 ConcurrentHashMap을 사용한다면 왜 나는 HashMap을 사용하지만 그 사람은 ConcurrentHashMap을 사용하는지 생각해 보세요.

몇 가지 간단한 프로젝트를 완료한 후 다시 체계적인 학습으로 돌아갈 수 있습니다. 이때 다양한 이득이 있을 것입니다.

마지막으로, 프로젝트를 조정하고 성능을 개선해야 할 경우, 개별적으로 분해하고 더욱 타겟화되고 타겟화되도록 심층적으로 학습합니다.

실제 전투가 시작됩니다

저희는 고성능 웹 서비스를 제공하기 위해 netty를 사용합니다. 사용이 간단하고 편리하며(netty는 단순하지 않음) 다른 소프트웨어에 의존하지 않습니다. 그렇다면 간단한 웹 API 서버를 완성하는데 필요한 필수 구성요소는 무엇인지 생각해 보세요. (사실 이런 생각을 할 때 간단한 건축물을 짓는 일은 마음으로 해야 한다는 점을 명심해야 한다.)

간략하게 요약했습니다:

  1. java 기본 데이터 유형(php에도 있습니다. 두려워하지 마세요)

  2. java 수집 프레임워크(php에는 배열이 있으며 매우 강력함)

  3. maven에 대한 첫 소개 (php에는 작곡가가 있음)

  4. Reflection(프레임워크 라우팅 및 기타 장소에 사용됨, PHP에도 있음)

  5. 직렬화(데이터 전송에 사용됨, PHP는 복잡한 데이터 구조가 없으며 N배 더 간단함)

  6. jdbc (데이터베이스 작업에 사용 예, php에는 pdo가 있습니다)

  7. 제네릭, 주석 등의 구문을 기본적으로 이해합니다(선택)

  8. netty를 사용하여 실제로 웹 API 서비스를 개발합니다(php에는 swoole이 있습니다)

Java 기본 데이터 구조, 다양한 기본 데이터 유형 래퍼 클래스

PHP 프로그래머를 위한 신속한 Java 개발

Java - 컬렉션 프레임워크 고주파 클래스 예제

PHP 프로그래머를 위한 신속한 Java 개발

HashSet은 중복 요소가 없는 컬렉션입니다. HashMap에 의해 구현되며 요소의 순서를 보장하지 않습니다. 즉, 요소 ​​삽입 순서가 출력 순서와 일치하지 않습니다.

이것은 실제로 Redis에서 자주 사용되는 것입니다. 예를 들어 블랙리스트를 구현하는 데 사용할 수 있으므로 검색 속도가 매우 빠르고 원격으로 Redis를 쿼리할 필요가 없습니다. 현재 메모리에서 직접 쿼리할 수 있습니다.

ArrayList는 배열을 기반으로 컬렉션의 기능을 구현합니다. 내부적으로는 가변 길이 개체 배열을 유지하며 컬렉션의 모든 개체는 이 배열에 저장되며 배열의 길이는 동적으로 확장 및 축소될 수 있습니다.

이것은 우리 PHP에서 일반적으로 사용되는 인덱스 배열이 아닌가요?

HashMap은 해시 테이블 데이터 구조로 구현되어 있으며, 객체 검색 시 해시 함수를 통해 객체의 위치를 ​​계산합니다. 특징은 빠르고 스레드로부터 안전하지 않습니다.

Maven에 대한 첫 소개

Maven의 기본 원리는 매우 간단합니다. 원격 웨어하우스와 로컬 웨어하우스를 사용하며 pom.xml에 정의된 jar 파일은 원격 웨어하우스에서 로컬로 다운로드됩니다. 각 프로젝트는 동일한 것을 사용합니다. 로컬 웨어하우스 jar의 경우 동일한 버전의 jar를 한 번만 다운로드하면 되며 각 애플리케이션에 대해 jar를 복사하지 않아도 됩니다.

PHP의 패키지 관리 도구 컴포저와 매우 유사하거나, 컴포저가 Maven을 참고하여 설계되었습니다. Maven이 더 강력합니다. 각 프로젝트마다 Composer를 가져와야 합니다. git과 마찬가지로 Maven에는 로컬 창고가 있습니다. 타사 패키지는 프로젝트에 직접 참조되지 않지만 컴파일 중에 도입됩니다(예, 별로 편리하지 않습니다). 반면, Maven은 패키지 관리 도구일 뿐만 아니라 컴파일, 패키징, 단위 테스트 및 기타 기능을 통합하는 프로젝트 관리 도구이기도 합니다.

컨트롤러 액세스 구현

특정 요구 사항: 사용자가 사용자 정보를 지정할 수 있는 API를 제공

정의 인터페이스:

http://localhost:10000/users/{id}
http://localhost:10000/?method=user.get&id={id}

아마도 모두가 이미 이전의 Restful API 인터페이스에 익숙할 것입니다.

라우팅 매핑과 http 메소드 매칭이 필요하기 때문에 학습 비용을 고려하면 이 방식을 선택하지 않았습니다.

오늘 우리의 목표는 가장 간단하고 효과적인 방법으로 기능을 구현하는 것입니다.

먼저 가장 간단한 방법으로 구현합니다(사실 라우팅이 없는 API가 가장 빠르며 결국 판단이 덜 필요합니다).

위 내용은 PHP 프로그래머들이 Java를 빠르게 개발할 수 있는 방법입니다. 모든 분들께 도움이 되었으면 좋겠습니다.

관련 권장사항:

PHP 파일 업로드 클래스 Sharing_php 인스턴스

이미지 워터마크 추가, 압축 및 자르기를 위한 PHP 캡슐화 클래스

역사에서 가장 완벽한 PHP 정규식_정규식

위 내용은 PHP 프로그래머를 위한 신속한 Java 개발의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.