Spark集群搭建
spark环境搭建版本总览12345678910111213141516171819(ray37) [root@Slave03 huangyc]# java -versionjava version "1.8.0_281"(ray37) [root@Slave03 huangyc]# hadoop versionHadoop 3.2.1Compiled with protoc 2.5.0(ray37) [root@Slave03 huangyc]# scala -versionScala code runner version 2.12.15 -- Copyright 2002-2021, LAMP/EPFL and Lightbend, Inc.(ray37) [root@Slave03 huangyc]# sh /usr/spark-3.0/bin/spark-shellSpark context Web UI available at http://Slave03:4040Welcome to ____ __ / ...
Spring注解_介绍
Java中的注解到底是如何工作的?
Java中的注解到底是如何工作的?
Java 必须掌握的 12 种 Spring 常用注解!
java中的注解,真的很重要,你理解了嘛
自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分。开发过程中,我们也时常在应用代码中会看到诸如@Override,@Deprecated这样的注解。
这篇文章中,我将向大家讲述到底什么是注解,为什么要引入注解,注解是如何工作的,如何编写自定义的注解(通过例子),什么情况下可以使用注解以及最新注解和ADF(应用开发框架)。这会花点儿时间,所以为自己准备一杯咖啡,让我们来进入注解的世界吧。
https://www.zhihu.com/question/64671972
Spring和SpringBoot比较,解惑区别
用Spring Boot颠覆Java应用开发
什么是注解?用一个词就可以描述注解,那就是元数据,即一种描述数据的数据。所以,可以说注解就是源代码的元数据。比如,下面这段代码:
1234@Overridepublic String toString() { ...
Spring注解_常用注解
12种 Spring 常用注解声明bean的注解
@Component 组件,没有明确的角色
@Service 在业务逻辑层使用(service层)
@Repository 在数据访问层使用(dao层)
@Controller 在展现层使用,控制器的声明(Controller层)
注入bean的注解
ANNOTATION
PACKAGE
SOURCE
@Resource
javax.annotation
Java JSR-250
@Inject
javax.inject
Java JSR-330
@Autowired
org.springframework.bean.factory
Spring 2.5+
JSR是Java Specification Requests的缩写,意思是Java 规范提案。是指向JCP(Java Community Process)提出新增一个标准化技术规范的正式请求。任何人都可以提交JSR,以向Java平台增添新的API和服务。JSR已成为Java界的一个重要标准。
@Resource,@Autowired,@Injec ...
多线程_JUC线程池
JUC线程池1234567891011121314151617181920212223242526271. Executor它是"执行者"接口,它是来执行任务的。准确的说,Executor提供了execute()接口来执行已提交的 Runnable 任务的对象。Executor存在的目的是提供一种将"任务提交"与"任务如何运行"分离开来的机制。它只包含一个函数接口:void execute(Runnable command)2. ExecutorServiceExecutorService继承于Executor。它是"执行者服务"接口,它是为"执行者接口Executor"服务而存在的;准确的话,ExecutorService提供了"将任务提交给执行者的接口(submit方法)","让执行者执行任务(invokeAll, invokeAny方法)"的接口等等。3. AbstractExecutorServiceAbstractExecutorSer ...
多线程_JUC集合
JUC集合List的实现类主要有: LinkedList, ArrayList, Vector, Stack。
(01) LinkedList是双向链表实现的双端队列;它不是线程安全的,只适用于单线程。(02) ArrayList是数组实现的队列,它是一个动态数组;它也不是线程安全的,只适用于单线程。(03) Vector是数组实现的矢量队列,它也一个动态数组;不过和ArrayList不同的是,Vector是线程安全的,它支持并发。(04) Stack是Vector实现的栈;和Vector一样,它也是线程安全的。
Set的实现类主要有: HastSet和TreeSet。
(01) HashSet是一个没有重复元素的集合,它通过HashMap实现的;HashSet不是线程安全的,只适用于单线程。(02) TreeSet也是一个没有重复元素的集合,不过和HashSet不同的是,TreeSet中的元素是有序的;它是通过TreeMap实现的;TreeSet也不是线程安全的,只适用于单线程。
Map的实现类主要有: HashMap,WeakHashMap, Hashtable和TreeMa ...
多线程_生产者消费者
生产者消费者121. Java生产者消费者的三种实现 https://blog.csdn.net/xindoo/article/details/80004003
1234567Java生产者消费者是最基础的线程同步问题,java岗面试中还是很容易遇到的,之前没写过多线程的代码,面试中被问到很尬啊,面完回来恶补下。在网上查到大概有5种生产者消费者的写法,分别如下。用synchronized对存储加锁,然后用object原生的wait() 和 notify()做同步。用concurrent.locks.Lock,然后用condition的await() 和signal()做同步。直接使用concurrent.BlockingQueue。使用PipedInputStream/PipedOutputStream。使用信号量semaphore。
synchronized版本123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 ...
python多进程
python多进程基本概念
Python中的多进程是通过multiprocessing包来实现的,和多线程的threading.Thread差不多,它可以利用multiprocessing.Process对象来创建一个进程对象
这个进程对象的方法和线程对象的方法差不多也有start(),run(),join()等方法,其中有一个方法不同Thread线程对象中的守护线程方法是setDeamon,而Process进程对象的守护进程是通过设置daemon属性来完成的
与多线程的共享式内存不同,由于各个进程都是相互独立的,因此进程间通信再多进程中扮演这非常重要的角色,Python中我们可以使用multiprocessing模块中的pipe、queue、Array、Value等等工具来实现进程间通讯和数据共享,但是在编写起来仍然具有很大的不灵活性
任务类型
同步与异步
同步就是指一个进程在执行某个请求的时候,若该请求需要一段时间才能返回信息那么这个进程将会一直等待下去,直到收到返回信息才继续执行下去
异步是指进程不需要一直等下去,而是继续执行下面的操作,不管其他进程的状态当有消息返回时 ...
文件和目录访问
文件
文件是数据的抽象和集合
文件是存储在辅助存储器上的数据序列
文件是数据存储的一种形式
文件展现形态:文本文件和二进制文件
文本文件 vs. 二进制文件
文件文件和二进制文件只是文件的展示方式
本质上,所有文件都是二进制形式存储
形式上,所有文件采用两种方式展示
文本文件
由单一特定编码组成的文件,如UTF-8编码
由于存在编码,也被看成是存储着的长字符串
适用于例如:.txt文件、.py文件等
二进制文件
直接由比特0和1组成,没有统一字符编码
一般存在二进制0和1的组织结构,即文件格式
适用于例如:.png文件、.avi文件等
基本使用文件打开和关闭
基本使用
123<变量名> = open(<文件名>, <打开模式>, encoding='utf-8')文件句柄 文件路径和名称 文本 or 二进制<变量名>.close()
打开模式
文件的打开模式
描述
‘r’
只读模式,默认值,如果文件不存在,返回FileNotFoundError
‘w’
覆盖写 ...
Pythonic的几个办法
Pythonic的几个办法
Python难点解析—-高级篇2.Pythonic
Python 实用冷门知识整理
这些年来,Python 开发者用Pythonic这个形容词来描述那种符合特定风格的代码。这种Pythonice风格,既不是非常严密的规范,也不是由编译器强加给开发者的规则,而是大家在使用Python语言协同工作的过程中逐渐形成的习惯。
确认python版本
1python --version
12345import sysprint(sys.version)3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)]print(sys.version_info)sys.version_info(major=3, minor=7, micro=6, releaselevel='final', serial=0)
有很多种流行的Python运行时环境,例如,CPython、 Jython、 IronPython 以及PyPy等。
enumerate迭代
enumerate可以把各种迭 ...
python网络编程
网络编程
socket和urllib的关系
提供对多种不同类型套接字的低级访问,您可以使用这些套接字通过任何端口和协议进行通信。例如,您可以将其用于电子邮件、SSH、远程桌面等,也可以用于侦听端口(对于服务器)。几乎所有Python网络库,包括urllib,都以某种方式使用socket。在urllib专门用于套接字的特定用途,即HTTP(和可选的TLS)和FTP协议的客户端,通常(但不总是)使用端口80、443或21。
Python urllib、urllib2、urllib3用法及区别
urllib、urllib2是老版本,urllib3是新版本,requests是基于urllib3写的。其中urllib和urllib2是内置库
模块urllib和urllib2的功能差不多,简单来说urllib2是urllib的增强——urllib2更好一些,但是urllib中有urllib2中所没有的函数。对于简单的下载, urllib绰绰有余。如果需要实现HTTP身份验证或Cookie亦或编写扩展来处理自己的协议,urllib2可能是更好的选择。在Python2.x中主要为urllib和 ...