每天三个技术问题

#每天三个技术问题# 3/30/2018

2018-04-01  本文已影响0人  咖啡小组

今天的问题:

1)Java是LL1文法么?

2)Java的正则表达式实现为什么是NFA,而不是DFA?

3)CSS in javascript有什么优势么?

昨天的问题:

1) Java 9只用base模块,打包带JRE的可运行文件,有多大?

2) Linux的启动级别有哪些?systemd和init分别是怎么支持的?

3) HTML中的用途?

Java 9只用base模块,打包带JRE的可运行文件,有多大?

Java9有一个新命令jlink ,和之前JavaFX的命令javapackager差不多。这里有一个教程和示例项目:https://steveperkins.com/using-java-9-modularization-to-ship-zero-dependency-native-apps/

根据他的测试结果,只是base包的话,带JRE 21.7MB。GUI是带JavaFX。

Linux的运行启动级别有哪些?systemd和init分别是怎么支持的?

runlevel,准确的说法是运行级别, 来源于System V,Ubuntu 14的init就是sysvinit? 

Systemd的支持:

两边支持的级别还是有区别的。Systemd可以指定一个target,然后启动脚本里指定级别。

3)HTML中的用途?

这个问题问的不好,准确的说法是浏览器识别charset的优先级顺序是怎样的?指定一个HTML页面的Charset,一共有5种方法,顺序如下:

1) 用户客户端指定,比如右键,指定编码,Chrome浏览器,貌似把这个选项删掉了。

2)BOM,新鲜东西啊,字节顺序标记(ByteOrderMark)

3)HTTP Header Content-Type

4) / @charsetfor css 或者html4的

5)Environment (charset attribute of parent 

国内很多网站,页面指定的是GB2312,但Header指定GBK,所以他们的页面显示没问题,但我们用GB2312抓取,出现部分乱码,也是浏览器识 编别码顺序的原因。

上一篇 下一篇

猜你喜欢

热点阅读