Это можно решить, выдвинув новые координаты для Испании. http://bastionstudio.co.za/test/spain-no-canary-islands.html
console.log(Highcharts.maps['custom/world'].features);
Highcharts.maps['custom/world'].features.push({
"type":"Feature",
"id":"ES",
"properties": {
"hc-group":"admin0",
"hc-middle-x":0.76,
"hc-middle-y":0.27,
"hc-key":"es",
"hc-a2":"ES","name":"Spain",
"labelrank":"2",
"country-abbrev":"Sp.",
"subregion":"Southern Europe",
"region-wb":"Europe & Central Asia",
"iso-a3":"ESP","iso-a2":"ES","woe-id":"23424950",
"continent":"Europe"
},
"geometry":{
"type":"MultiPolygon",
"coordinates":[
[
[
[4045, 7594],
[4021, 7599],
[4011, 7621],
[3984, 7629],
[3997, 7692],
[3998, 7762],
[4020, 7781],
[4009, 7795],
[3944, 7795],
[3930, 7838],
[3969, 7860],
[3988, 7852],
[4098, 7851],
[4151, 7846],
[4203, 7821],
[4246, 7818],
[4249, 7812],
[4255, 7814],
[4262, 7812],
[4262, 7813],
[4262, 7814],
[4263, 7812],
[4263, 7812],
[4279, 7808],
[4298, 7812],
[4300, 7795],
[4265, 7771],
[4233, 7763],
[4194, 7709],
[4211, 7683],
[4189, 7669],
[4183, 7644],
[4154, 7635],
[4143, 7615],
[4072, 7613],
[4046, 7594],
[4045, 7594]
]
]
]
}
});
Примите во внимание, что, как доказано проблемой остановки, Вы не можете определенно сказать, что конкретный класс или не используется. По крайней мере, на любом умеренно сложном приложении. Поэтому классы только связываются во время компиляции, но могут быть загружены:
Таким образом, просто рассмотрение исходного кода не достаточно. Однако любой разумный IDE предоставит Вам аналитические инструменты зависимости. IntelliJ, конечно, делает.
То, в чем Вы действительно нуждаетесь, является инструментарием во время выполнения на том, что Ваше приложение делает, но даже который не гарантируется. В конце концов, конкретный путь выполнения кода мог бы подойти один в 10 миллионах выполнений из-за странной комбинации исходных данных, таким образом, Вам нельзя гарантировать это, Вы застрахованы.
Инструменты как это действительно имеют некоторое значение все же. Вы могли бы хотеть посмотреть на что-то как Emma. Профилировщики как Yourkit могут дать Вам дамп кода, которого можно сделать анализ также (хотя это не возьмет временные объекты ужасно хорошо).
Лично я нахожу мало значения вне того, что IDE скажет Вам: удаление неиспользованных БАНОК. Хождение более детализированного, чем это просто напрашивается на неприятности для мало ни к какому усилению.
Да, Вы хотите ProGuard. Это - абсолютно бесплатный код Java shrinker и obfuscator. Легко настроить, быстрый и эффективный.
Вы могли бы попробовать JarJar http://code.google.com/p/jarjar/
Это обрезает зависимости от банки.
Для большинства случаев можно сделать это довольно легко использующий просто javac.
Удалите Вас существующие файлы класса. Назовите javac с названием Ваших классов записи. Это скомпилирует те необходимые классы, но не больше. Задание сделано.