原创 Tomcat在IDEA上的部署

先建立一個空項目 在空項目中的run選項中點擊Edit Configuration選擇Default 進入如下圖: 點擊2選擇安裝tomcat的目錄,之後點擊ok即可 在當前項目中新建module 之後再修改名字即可 完成。 進

原创 Lamabda表達式的學習

使用前提: 1.使用Lamabda必須要有接口,且要求接口中有且僅有一個抽象方法。(無論是JDK內置的Runnable、Comparator接口還是自定義的接口,只有當藉口中的抽象方法存在且唯一時,纔可以使用Lamabda。) 2

原创 Http協議中的request

1.requset對象和response對象的原理 request和response對象是由服務器創建的。我們使用他們 request對象是來獲取請求消息,response對象是來設置響應消息的 2.request:獲取請求

原创 線程池的使用

使用步驟: 1.使用線程池的工廠類Executors裏面提供的靜態方法newFixedThreadPool產生一個指定線程數量的線程池 2.創建一個類,實現Runnable接口,重寫run方法,設置線程任務 3.調用Executo

原创 Synchronize的學習

原文鏈接:https://www.cnblogs.com/paddix/p/5367116.html 基本介紹: Synchronized是Java中解決併發問題的一種最常用的方法,也是

原创 java併發編程的藝術學習第一部分

1.當併發執行累加操作不超過100萬次時,速度會比串行執行累加操作要慢,應爲線程有創建和上下文切換的開銷。 減少上下文切換的方法: **無鎖併發編程:**多線程競爭鎖時,會引起上下文切換,所以多線程處理數據時,可以用一些辦法來

原创 String類型重新賦值輸出結果不變

今天在刷題時遇到的一個問題,對於初學者來說可能會產生疑惑,我們先來看一下代碼; public class Example { String str = new String("good"); char[] ch =

原创 實現或繼承Collection

解析:

原创 線程池

什麼是線程池? 線程池是一種多線程處理形式,處理過程中將任務添加到隊列,然後在創建線程後自動啓動這些任務。 線程池的好處: 降低資源消耗。通過重複利用已創建的線程降低線程創建和銷燬造成的消耗 提高響應速度。當任務到達時,任務可以不需

原创 HashTable和concurrentHashMap線程安全保證機制是否一樣

不一樣。雖讓HashTable和ConcurrentHashMap的線程都是安全的,但是HashTable效率較低,因爲HashTable是使用Synchronized的,所有線程競爭同一把鎖;erconcurrentHashMap線

原创 ByteArrayOutputStream詳解

介紹: ByteArrayOutputStream 對byte類型數據進行寫入的類 相當於一箇中間緩衝層,將類寫入到文件等其他outputStream。它是對字節進行操作,屬於內存操作流 源碼解析: public class By

原创 類與對象

Java作爲一種面向對象的語言,即OOP(Object Oriented Programming)語言。其所具有的三大特徵: 繼承 封裝 多態 這三點在類與對象這一部分重點體現。如果我們把類比喻成模板,那對象就相當於實體。 一.對

原创 Java裏String的方法

**1.length() 獲取字符串長度 ** String str="abc"; int n=str.length(); System.out.println(n) 2.charAt(int n) 定位n下標的字母 public

原创 求一個數組的連續子數組和的

假設有一個數組array[]={1,-2,3,10,-4,7,2,-51},求其連續子數組和的最大值。 我們可以這樣考慮,首先將1和-2相加,和爲-1<0,且-1<3,所以我們捨棄前兩項,從第三項開始加 當加到最後一位時,發現和<0,

原创 新手初入Java(六)數組的排序方式

對數組中的數據進行排序,主要有以下四種方法: 冒泡排序 直接插入排序 選擇排序 Shell排序 (一)冒泡排序法: 時間複雜度:O(n^2) 空間複雜度:O(1) 穩定性:穩定 冒泡排序法的核心思想是將大的數據看作大的氣泡,小的