windows/mac下开机自启,electron官方已经实现。文档地址 linux下自启。 下载插件 npm install easy-auto-launch -S 创建auto-launch.ts文件,写入内容 import AutoLaunch from "easy-auto-launch"; import {app} from "electron"; /** * 获取开机启动状态 */ export const getAutoLaunchState = async () => { if
上篇文章说了项目中对根据URL提供的HTML代码中的文件URL进行下载,将下载后的文件存放在服务器上,但是文件下载下来都是ZIP压缩包。那么这篇就来看Java如何多文件进行解压缩操作。
依赖 <dependency> <groupId>eu.bitwalker</groupId> <artifactId>UserAgentUtils</artifactId> <version>1.21</version> </dependency> 测试 @
web应用想通过Java读取linux系统文件显示到web页面上,结果中文文件名出现乱码?
先简单说下业务:有一个单独的模块,可以在远程下载Hadoop上的索引,然后合并压缩,最后推送到solr服务器上 原来使用的是Ant打包,外部的jar是在执行主体的jar时cp进环境变量的,所以没有出现今天要说的这个问题,操作先把所有外部的jar的路径,拼接好一个字符串path,然后将path传入下面执行的代码 java -cp path com.xxx.xxx.Test 现在要统一项目风格,要把Ant项目转换为Maven项目,大体上没啥问题,由于不写MapReduce,仅仅使用HDFS
今天在翻看以前的笔记时,发现自己在很早之前写过一个java程序,能够解析日志中的sql语句。 当时使用的环境是weblogic,日志目录下总是有几十上百个日志文件,有时候排查问题的时候只需要找到对应的DML语句即可。 使用linux命令固然也可以,但是解析的时候还是比较被动,不能够正确地解析出sql语句来。比如日志中出现insert的字样可能只是日志中的一段信息,不是insert语句。 这些通过linux命令来完成还是有一定的难度,记得当时问题比较多,自己也饱受这种困扰。于是写了一个java程序来。 代码如
本人在使用 httpclient 做接口测试的过程中,用例是以代码形式写在一个用例包里面的,包里的每个类表示的一类用例,大致是按照接口所在模块划分。这样就导致了一个问题,执行用例必须得把用例包里面所以类的用例方法都执行一边。之前使用过java 的反射来根据类名创建类对象,然后根据方法名执行相应的方法。根据这个思路,加之上网查找了一些相关资料参考了一些其他人的代码,自己封装了一个执行用例包里面所有类的用例方法的用例执行类,分享出来,供大家参考。
不知道大家在使用Spring Boot开发的日常中有没有用过@Conditionalxxx注解,比如@ConditionalOnMissingBean。相信看过Spring Boot源码的朋友一定不陌生。
java文件操作主要封装在Java.io.File中,而文件读写一般采用的是流的方式,Java流封装在 java.io 包中。Java中流可以理解为一个有序的字符序列,从一端导向到另一端。建立了一个流就好似在两个容器中建立了一个通道,数据就可以从一个容器流到另一个容器
1、路径分隔符 ; 2、名称分隔符 / (windows) \ (linux 等)
在linux下,假设我们想打开文件/dev/tty,我们可以使用系统调用open,比如:
系统调用 跟用户自定义函数一样也是一个函数,不同的是 系统调用 运行在内核态,而用户自定义函数运行在用户态。由于某些指令(如设置时钟、关闭/打开中断和I/O操作等)只能运行在内核态,所以操作系统必须提供一种能够进入内核态的方式,系统调用 就是这样的一种机制。
安卓 IPC 跨进程通信有很多种方式,我们可以用 Bundle传递数据,通过 Intent 意图去打电话,在 Uri 里面传递电话号码
前一篇文章说了说怎样使用 Webpack2 预编译 Electron 应用,但是有时候我们希望使用 Webpack2 的热部署功能来提高我们的开发效率,使我们在代码修改后能自动立即看到修改后的结果。那么今天就看看怎样来实现这个功能。 安装依赖库 $ npm install --save-dev electron $ npm install --save-dev electron-packager $ npm install --save-dev webpack $ npm install --save-
运行C#脚本的解决方案,有Roslyn和Mono。CS-Script主要是基于Roslyn封装实现的,并且提供了一些额外功能:
使用memcahed的客户端xmemcached实现Cache、CacheManager接口。
多线程下还是要考虑一下死锁的发生情况,避免遇到这种问题时被动无措,死锁是指两个或两个以上的线程在执行过程中,由于竞争资源或者彼此通信而造成的一种阻塞的现象,若无外力作用,他们都将无法推进下去。此时称系统处于死锁状态或者系统产生了死锁,这些永远在互相等待的进程称为死锁进程。
本人在使用 httpclient 的过程中,突然想起来可以爬取一些数据,比如全国的中学名。当然不是空穴来风,之前也做过这方面的爬虫,不过基于selenium 做的 UI 脚本,效率非常慢,而且很不稳定,所以这次采取了接口的形式,果然效率提升了几个档次。一共6万+数据,用了16分钟左右,期间包括数据库的存储。现在分享代码供大家参考。关键信息隐去,大家看一下思路就好了。
" LockSupport 是 JUC 中常用的一个工具类,主要作用是挂起和唤醒线程。在阅读 JUC 源码中经常看到,所以很有必要了解一下。下面会介绍源码中的注释,以及一步一步用代码去验证一些猜想。"
简单说,就是已经存在稳定的数据类。由于外部需求,需要访问特定的类成员。希望在不改变原数据类接口,仅通过增加外部模块实现需求。此模式,是行为模式中最复杂的一种模式。
Sigar是Hyperic-hq产品的基础包,是Hyperic HQ主要的数据收集组件。它用来从许多平台收集系统和处理信息。
文档在线预览在企业级应用开发也算是比较常遇见的需求了,通常处理这方面的需求大致有如下的方案,
多线程 多线程(multiple thread)是计算机实现多任务并行处理的一种方式。 在单线程情况下,计算机中存在一个控制权,并按照顺序依次执行指令。单线程好像是一个只有一个队长指挥的小队,整个小队
在 Java 中,死锁(Deadlock)情况是指:两个或两个以上的线程持有不同系统资源的锁,线程彼此都等待获取对方的锁来完成自己的任务,但是没有让出自己持有的锁,线程就会无休止等待下去。线程竞争的资源可以是:锁、网络连接、通知事件,磁盘、带宽,以及一切可以被称作“资源”的东西。
本文主要通过简单的demo来阐述synchronized锁的各种用法以及使用synchronized锁的相关注意事项,记录下来同时也方便自己记忆。
实现思路:获取某目录下的所有jar包,根据最新的修改时间来启动该jar包(当然你也可以写死路径,就连获取也不用了),运用多线程 执行cmd命令同时关闭原程序
Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。
上一篇分析了SpringBoot源码结构及各个模块pom之间的关系后,那么此篇开始就开始解开SpringBoot新特性之一--自动配置的神秘面纱了。因为SpringBoot自动配置原理是基于其大量的条件注解ConditionalOnXXX,因此,本节我们先来撸下Spring的条件注解的相关源码。
对于下边两种路径: exportPath=“C:\Users\93676\Desktop\测试.docx” --windows系统路径 exportPath="/Users/93676/Desktop/测试1.docx" --linux系统路径
意思是:封装一些作用于某种数据结构中的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。简单地来说,就是将数据结构和数据操作相分离。
CGICC是一个C++语言实现的开源CGI库,采用LGPL授权协议,使用较为简单。
接前面一篇文章,前一篇文章中只有一个页面,并且只有一个js文件,所以打包的时候会把那个js打包成一个bundle.js文件。但是假如我们有多个页面,且每个页面需要使用的js文件也不同,那么我们应该怎样打包呢。 安装依赖库 这里准备做个小的演示程序,首先安装一些这个演示程序需要看的第三方库 $ npm install --save-dev electron $ npm install --save-dev electron-packager $ npm install --save-dev webpack $
Python主要通过标准库中的threading包来实现多线程。在当今网络时代,每个服务器都会接收到大量的请求。服务器可以利用多线程的方式来处理这些请求,以提高对网络端口的读写效率。Python是一种网络服务器的后台工作语言 (比如豆瓣网),所以多线程也就很自然被Python语言支持。
File类没有无参构造方法,最常用的是使用下面的构造方法来生成File对象(注意分隔符可以使用"/"和"",但是使用""必须写"\",因为涉及转义的问题):
小编最近忙着学习项目构架上的一些技术,把实用的工具类整理下,单独放在一个项目。其他项目需要用直接使用maven依赖一下就可以使用了。项目中需要实现上传多张图片,由于多张图片,又担心并发量大。所以小编做了一个负载均衡,把上传后的图片保存到linux上的ftp中去,不了解linux上的ftp小编后期编写个教程。
前面一篇博文 《Spring之定时任务基本使用篇》 介绍了Spring环境下,定时任务的简单使用姿势,也留了一些问题,这一篇则希望能针对这些问题给个答案
python调用C/C++的办法有很多,本文使用boost.python。考虑到后期有好多在boost上的开发工作,所以boost一并安装了,Boost库分为两个部分来使用,一是直接使用对应的头文件,二是需要编译安装相应的库才可以使用。
python调用C/C++的方法有很多,本文使用boost.python。考虑到后期有好多在boost上的开发工作,所以boost一并安装了,Boost库分为两个部分来使用,一是直接使用对应的头文件,二是需要编译安装相应的库才可以使用。
之前都是需要根据发布的ws服务生成wsdl和客户端代码,其中不生成也可以动态调用。
Conditional注解很重要,是Springboot自动化配置的基础,它会根据指向的condition实现类,在SpringIOC的时候调用其matches方法,如果返回true则这个bean注册到beanFactory中。
按:最近公众号文章主要是整理一些老文章,主要是个人CSDN上的博客,也会穿插一些新的技术点。 ---- OK,上篇博客我们介绍了Spring中一些常见的配置,上篇博客中介绍到的都是非常常见的注解,但是在Spring框架中,常见的注解除了上篇博客提到的之外,还有许多其他的注解,只不过这些注解相对于上文提到过的注解使用频率稍微低一些,当然这个使用频率只是相对而言。OK,那么接下来我们就再来了解Spring中的几个注解。 Spring Aware 一般情况下,我们在使用Spring框架时,Bean和Spring容
栈:线程运行时需要的内存空间,一个栈中包含多个栈帧,栈帧是每个方法运行时需要的内存,一次方法调用就是一个栈帧。栈帧主要是用来存储局部变量,参数与返回地址(结束该方法后执行方法的地址)的。调用一个方法时,方法的栈帧入栈,当该方法执行结束,对应的栈帧(Frame)就会出栈。另外每个线程只能有一个活动栈帧,来对应当前正在执行的方法。
作者 yiran4827 Struts S2-020这个通告已经公布有一段时间了。目前大家都知道这个漏洞可以造成DOS、文件下载等危害,相信各大厂商也已经采取了相应的安全措施。今天是和大家分享一下对这个漏洞的一点研究,包括如何在Tomcat 8下导致RCE,目的是抛砖引玉,有不足之处欢迎大家指出。 1.属性列举 这个漏洞分析的一个难点在于:通过ognl的class.xx这种方式来遍历属性时,得到的是实际运行环境中的动态class,因此仅作静态分析是很困难的。例如classLoader,在不同容器中就各不
线程化是指同时执行程序过程以提高应用程序性能的实践。虽然直接在业务应用程序中使用线程并不常见,但它们一直在Java框架中使用。
首先需要下载 webDriver驱动 和你的谷歌浏览器匹配 先放开 用你的1688账户登录一次获取到登录cookies
IO技术在JDK中算是极其复杂的模块,其复杂的一个关键原因就是IO操作和系统内核的关联性,另外网络编程,文件管理都依赖IO技术,而且都是编程的难点,想要整体理解IO流,先从Linux操作系统开始。
简单的说,就是已经存在稳定的数据类。由于外部需求,需要访问特定的类成员。希望在不改变原数据类接口,仅通过增加外部模块实现需求。此模式,是行为模式中最复杂的一种模式。
链接 | cnblogs.com/baixianlong/p/10661591.html
领取专属 10元无门槛券
手把手带您无忧上云