
java
文章平均质量分 64
奇妙探险家
浮光跃金,静影沉璧
展开
-
SpringBoot项目测试打包
1、测试手动创建和main同级的test文件夹和和它下面的test/java文件夹,将java右键marks as test source root,在待测的方法上右键go to-test-create new test,选择jtest4,勾选上要测试的方法,即可创建测试类。在测试类上加上以下注解,如果只涉及个别类可以在SpringBootTest后加上classes参数@RunWith(SpringJUnit4ClassRunner.class)@SpringBootTest//(clas原创 2021-06-30 15:41:37 · 983 阅读 · 0 评论 -
java正则表达式笔记
1、"\\{([^\\{]*)\\}"\\{为正则中{的写法,[^\\{]表示非{的任意字符,[^\\{]*为非{的任意字符的序列,小括号表示取其中的部分全句意为选取以{开头,以}结尾,中间不包含{的字符串原创 2018-03-22 11:37:08 · 131 阅读 · 0 评论 -
部分问题记录
1、数据倾斜解决、hive join优化!!!https://blog.youkuaiyun.com/u013760453/article/details/886008412、 多线程、多进程https://blog.youkuaiyun.com/u013760453/article/details/886055303、java线程池原理,常见线程池 https://blog.youkuaiyun.com/u013...原创 2019-03-07 17:50:42 · 245 阅读 · 0 评论 -
常见设计模式
1、单例模式:无法new构造,只有一个实例,通过静态的getInstance()获得减少创建销毁实例的资源消耗(数据库连接池) 避免对共享文件的多重占用(日志输出) 方便资源的集中控制和通信(多线程的线程池)/** * 构造方法和单例都是private,单例本身也是static的 * 唯一public的是static的getInstance() *///饿汉式public...原创 2019-03-16 13:55:07 · 149 阅读 · 0 评论 -
JVM相关问题
1、JVM/JRE/JDKJVM(Java Virtual Machine),java虚拟机,屏蔽操作系统细节,为java程序提供字节码指令集、寄存器、栈、垃圾回收堆和一个存储方法域。是JRE的一部分JRE(Java Runtime Environment),也就是java平台。所有的java程序都要在JRE环境下才能运行。包含JVM。JDK(Java Development Kit)...原创 2019-03-15 08:40:32 · 274 阅读 · 0 评论 -
多进程、多线程、java多线程
实质:操作系统的执行单元是进程(程序),每个jvm实例都是一个进程,系统中可以同时有多个jvm实例,也就是有多个java进程,每个jvm中可以有多个线程,它们共享方法区和堆内存,所以线程间可以共享方法体中的常量、静态变量和堆内存中的全局对象。多个进程之间则完全不能共享内存。(同一个程序运行多次就是多个进程)比较多进程:充分利用多个cpu,真正的同时运行。 多线程:充分利用单个cpu,通过...原创 2019-03-17 01:50:21 · 657 阅读 · 0 评论 -
二叉树的序列化和反序列化
原作者网址:https://blog.youkuaiyun.com/qq_27703417/article/details/70958692 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/qq_27703417/article/details...转载 2019-03-23 13:44:42 · 699 阅读 · 0 评论 -
HashMap、ConcurrentHashMap相关内容
1、 HashMap ConcurrentHashMap Hashtable 实现 jdk7数组+链表; jdk8数组+链表(小于8)+红黑树(大于8) jdk7数组+链表; jdk8数组+链表(小于8)+红黑树(大于8) 数组+链表 线程安全 × √ √ 锁 jdk7桶锁;jdk8行级锁 全...原创 2019-03-23 14:18:33 · 160 阅读 · 0 评论 -
多线程控制场景
1、控制并发数Semaphore主线程中创建信号量对象,Semaphore sem=new Semaphore(i); 作为参数传入子线程中 子线程中sem.acquire();获取信号量,获取成功后才能继续执行,限制了并行数目 子线程中sem.release();释放信号量,使其他在等待acquire的线程可以获取到信号量2、若干子线程都结束后再继续向下执行主线程CountDown...原创 2019-04-06 00:04:13 · 191 阅读 · 0 评论 -
akka并发通信、actor模型的理解
1、利用akka进行多节点分布式通信val ROLE="follower"//读取配置信息val config=ConfigFactory.load("Actors.conf");//创建ActorSystem,指定系统名称,所有节点上的actor所在的系统名必须相同val actorSystem=ActorSystem("Megalith",config.getConfig(RO...原创 2019-04-06 01:16:27 · 757 阅读 · 1 评论 -
锁
悲观锁:认为资源非常紧张,遇到共享中的资源直接挂起线程,等待唤醒。例如synchronized 乐观锁:认为资源很可能不紧张,遇到共享资源直接执行操作,如果结果与预期不一致则再次尝试,循环直到成功。例如CAS悲观锁遇到资源不紧张时,挂起唤醒线程相对来说资源消耗过大;乐观锁遇到资源紧张时执行一直无法成功,cpu自旋,消耗过大。公平锁指的是锁释放时,排队中的线程先lock的先获得锁。 非公平...原创 2019-04-07 02:48:24 · 140 阅读 · 0 评论 -
java线程池原理,常见线程池
java线程池原理Executors类提供了FixedThreadPool、CachedThreadPool等线程池对象,都是基于ThreadPoolExecutor产生的。Executor接口定义了execute(),子接口ExecutorService又定义了submit(),抽象类AbstractExecutorService继承了该子接口,调用execute()实现了submit(...原创 2019-04-02 21:01:12 · 427 阅读 · 0 评论 -
生产者消费者模型
//阻塞队列实现生产者消费者 static void consumerProducerTest1(){ LinkedBlockingQueue<Integer> queue=new LinkedBlockingQueue<Integer>(2); new Thread(new Runnable() { ...原创 2019-04-09 23:25:19 · 126 阅读 · 0 评论 -
spark错误记录
1,Task in stage had a not serializable result: lambda表达式id或某对象idSerialization stack: - object not serializable(class:...value:...)在map、mappartition、reduce等各种方法中存在不能序列化的对象,无法在节点间传输导致此错误,例如,在以上方法中可以使...原创 2018-03-08 22:58:28 · 319 阅读 · 0 评论 -
spark笔记
1,spark项目必须添加spark-core/hadoop-common/scala-library三个包2,spark支持lambda表达式,返回值须指明具体类型,如Tuple23,将结果保存为一个文件而不是多个part:rs.repartition(1).saveAsTextFile(args[1]);4,将RDD的每个元素转变为一组元素并合并为新的RDD,使用flatmap原创 2018-03-05 23:34:23 · 406 阅读 · 0 评论 -
eclipse导出可运行的jar文件
在类文件上右键导出,选择java-runnable jar file,选择主类并打包import的依赖类。使用 java -jar ***.jar来运行jar包原创 2017-03-16 09:58:56 · 846 阅读 · 0 评论 -
java使用log4j产生日志,使用自定义日志名称
本例使用log4j 1.2版本,2.X版本变化较大,jar包下载地址:http://logging.apache.org/log4j/1.2/download.html需导入log4j-1.2.17.jar到项目路径中1、在src文件夹下新建文件log4j.properties,内容为:log4j.rootLogger = debug,stdout,D,E# debug为日志基础级...原创 2017-04-15 23:58:39 · 1141 阅读 · 0 评论 -
python,java使用163邮箱发邮件
import smtplibfrom email.mime.text import MIMETextmail_host = "smtp.163.com" # 设置服务器mail_user = "****@163.com" # 用户名mail_pass = "****" # 网易邮箱是密码(QQ邮箱是输入授权码,在qq邮箱设置 里用验证过的手机发送短信获得,不含空格)sender原创 2017-01-18 15:46:04 · 1011 阅读 · 0 评论 -
kettle笔记
1、There was a data type error: the data type of java.lang.String object [1 SU251] does not correspond to value meta [String(15)<binary-string>]使用csv输入+java脚本时可能发生以上错误,改为excel输入即可2、使用java脚本增加...原创 2017-04-25 09:09:55 · 7541 阅读 · 0 评论 -
java生成MD5校验码(文件/字符串)
转自:http://blog.youkuaiyun.com/achang21/article/details/33741477需要commons-codec包文件DigestUtils.md5Hex(new FileInputStream(new File("C:/1.txt")))字符串DigestUtils.md5Hex("111")转载 2017-04-22 00:01:36 · 1307 阅读 · 0 评论 -
mapruduce笔记
1,Text格式只在传输过程中使用(context.write和value),map/reduce正文中都需要将value转化为String类型再使用,如果直接将value加入treemap则会将其视为对象引用,导致treemap中所有的值都相等!2,如果输出路径存在就删除Path in = new Path(args[0]); //如果存在路径就删除之Path out = new P...原创 2017-05-30 22:01:14 · 1066 阅读 · 0 评论 -
java序列化、反序列化示例
package work;import java.io.ByteArrayInputStream;import java.io.ByteArrayOutputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import原创 2017-12-09 16:54:50 · 207 阅读 · 0 评论 -
java笔记
1、错误:No enclosing instance of type mProgram is accessible. Must qualify the allocation with an enclosing instance of type mProgram在public static void main(String[] args)中调用了内部非静态类,解决方法是将该内部类移到类外,由原创 2017-02-06 22:52:29 · 300 阅读 · 0 评论 -
JavaFX笔记
1、extends Application 报错:Access restriction: The type 'Application' is not API (restriction on required library)从C:\Program Files\Java\jre1.8.0_112\lib\ext将jfxrt.jar导入path,remove掉jre system library再原创 2017-12-15 10:42:16 · 280 阅读 · 0 评论 -
java加载jar包中的资源
在src文件夹下建立包和资源文件夹,包中的java类里使用资源时,主路径为src文件下,即对于work.java来说,a.PNG的路径是"source/a.PNG"原创 2017-12-15 11:25:26 · 768 阅读 · 0 评论 -
JavaFX Dialog实现(JDK8提示框)
原网址:http://blog.youkuaiyun.com/u010889616/article/details/53057047转载 2018-01-05 14:03:12 · 10012 阅读 · 3 评论 -
java文件读取操作笔记
按行读取、整体读取BufferedReader reader=new BufferedReader(new FileReader("D:/baidu/Desktop/acctinfo201612.csv")); String l,s; int row=0,col=0; l=reader.readLine(); col=l.split(",").length; Syste原创 2017-04-07 17:13:25 · 289 阅读 · 0 评论