设为首页 加入收藏

TOP

精通Java学习之路(四)(一)
2023-08-26 21:10:52 】 浏览:59
Tags:精通 Java 习之路

—并发包—

大型企业开发才用,我Java学得差不多以后再来学,主要是有点难,没学泛型与集合…

练手的ConcurrentHashMap:

import java.util.HashMap;
import java.util.Hashtable;
import java.util.concurrent.ConcurrentHashMap;

public class bingfa {
public static HashMap<String,String> maps=new HashMap<>();
// public static Map<String,String> maps=new Hashtable<>();

public static void main(String[] args) {
Runnable r1=new MyRunnable();
Thread t1=new Thread(r1,"线程1");
Thread t2=new Thread(r1,"线程2");

t1.start();
t2.start();
try {
t1.join();//让t1跑完,主线程不能竞争t1的CPU
t2.join();//让t2跑完,主线程不能竞争t2的CPU
} catch (InterruptedException e) {
throw new RuntimeException(e);
}System.out.println("元素个数:"+maps.size());
}
static class MyRunnable implements Runnable{
@Override
public void run() {
for(int i=1;i<=500000;i++){
bingfa.maps.put(Thread.currentThread().getName()+i,Thread.currentThread().getName()+i);
}
}}
}

—Map集合—

Map集合特点:无序性,不重复性(后面重复的键对应的元素会覆盖前面的整个元素),无索引的,对值无要求都可以为null。一个元素的组成为键和值,一个键对应一个值,就像地图上一个地方对应一个地点名字,所以叫Map集合。

HashMap:无序,不重复,无索引,值不做要求。经典的用得最多。

LinkedHashMap:有序,不重复,无索引,值不做要求。

TreeMap:浮点型的大小比较按照自己的排序,不重复,无索引,值不做要求。

Map的创建:Map<引用数据类型,引用数据类型> map=new HashMap/LinkedHashMap/TreeMap<>();ps:引用数据类型可以是其他类名的哦~

添加数据:map.put(xx,xx);

删除特定元素:map.remove(键);删除全部元素就直接map.clear();

判断是否包含某个键:map.containsKey(键);

判断是否包含某个值:map.containsValue(值);

将maps2的所有元素全部仍到maps中:map.putAll(maps2);

获取对应键的值:map.get(键);

Set<String> keys=map.keySet();//获取全部键的集合,Set无序不重复
for (String key: keys){
System.out.println(key);
}
Collection<Integer> values=map.values();//因为值可能有重复,所以用Collection集合
for (Integer value: values){
System.out.println(value+”,”+map.size());
}

遍历方法:

遍历方式1:键找值(key的值为String,value的类型为Integer):for(String key:maps.keySet()){Integer value =maps.get(key);System.out.println(key+”=”+value)};

遍历方式2:键值对方式获取:相较于键找值更加面向对象,但代码复杂,它是把键值对当成一个整体遍历,也就是直接使用foreac遍历:for(被遍历集合的元素类型 变量 :集合名称){…};有点像python的字典,创建方法:Set<Map.Entry<String,Integer>> xxx=maps.entrySet();

遍历方式3(最简单的):k,v只是个随便定义的变量,名字乱取都行

maps.forEach((k,v) ->{
System.out.println(k+”–>”+v);
});

—-网络通信—-

C/S结构的软件开发:客户需要下载客户端,一更新客户端也要更新。
B/S结构软件开发:类似于网上开发,客服不用下客服端。
网络通信三要素:协议,IP地址,端口号。
协议就是计算机网络客户端与服务端通信必须事先约定和彼此遵守的通信规则,一般有HTTP,FTP,TCP,UDP,SSH,SMTP.
IP地址:Internet Protocol Address互联网协议地址。有IPv4和IPv6.

IPv4:4个字节,32位组成
端口:如果说IP相当于一个酒店,端口就相当于酒店的房间号。端口取值范围:0~65535.比如浏览器的端口号就是80。
查看自己的ip:在cmd命令板输入ipconfig,尝试连接:ping ip地址或网站域名。
获取本地地址对象:(如果是公网IP就会优先输出公网IP,没有就是本地IP)
Inet4Address ip = (Inet4Address) Inet4Address.getLocalHost();
        System.out.println(ip.getHostName());
        System.out.println(ip.getHostAddress());
获取网站的ip地址:InetAddress ip2=InetAddress.getByName(“www.hepingan.top”);
        System.out.println(ip2.getHostName());
        System.out.println(ip2.getHostAddress());
测试连接:InetAddress ip3=InetAddress.getByName(“www.baidu.com”);
        System.out.println(ip3.isReachable(50

首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇在同事的代码中学习-责任链模式 下一篇答疑解惑:解释在Mybatis-Spring..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目